作者scaaa (aaa)
看板Programming
標題[問題] Thread Execution Order
時間Fri Jul 25 09:06:19 2008
現在碰到一個問題...
有一個Multithread程式, 大約有15個Thread
但是跑出來速度跟預期差很多, 我想知道是哪邊拖慢了速度
首先想要知道各個Thread的執行順序, 是不是和原先想的一樣
似乎不能用printf, 因為會存取I/O會被Block住
加上現在又是Multicore的電腦, 同時會有兩個以上的Thread在跑
怎樣在VC++跟Linux下去產生這樣的Trace?
或者有圖形化介面的工具會更好 XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.82.178
※ 編輯: scaaa 來自: 140.116.82.178 (07/25 09:07)
1F:→ jlovet:如果是thread...怎麼可以管到執行順序?140.123.216.204 07/25 13:19
2F:推 liangjr:gprof? 但要用在multithread要動點手腳 76.95.86.77 07/25 13:49
3F:推 sb5471:VC 有個Tool-Process Viewer 60.250.190.103 07/25 17:48
4F:→ sb5471:不過還是無法知道順序, 將就點用吧 60.250.190.103 07/25 17:49
5F:推 yoco315:看不懂.. 140.114.78.40 07/26 12:25
6F:推 liptonbin:在每個THRAD加變數 最後整個RUN完印出勒123.193.169.246 07/26 14:09
7F:→ scaaa:樓上的變數會用到Shared Varaible嗎?122.121.190.238 07/26 23:03
8F:→ scaaa:怕新加進了同步機制, 會抓到不原先的問題 @@122.121.190.238 07/26 23:05
9F:→ GERRYccc:印出 Thread No ~ 應該可以知道是哪一個 118.232.57.45 07/26 23:06
10F:推 new9999:程式執行前先做個暫停的動作 用工作管理員 118.161.131.4 07/31 23:54
11F:→ new9999:將你的程式先指定到只有一個cpu在執行他 118.161.131.4 07/31 23:55
12F:→ new9999:確定執行後再run 這樣比較能夠看執行順序 118.161.131.4 07/31 23:56