作者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