作者littleboypis (littleboypis)
看板C_and_CPP
标题[问题] Thread Pool
时间Fri May 1 12:58:50 2009
Hello
最近在研究Thread pool
在网路上找了一个Thread pool的project下来trace code
後想想在这个Thread pool中加入一些功能
一开始是想加入 destroy thread的功能
可以将正在执行中的Thread立刻停止
当程式执行destroy() 就会将指定的Thread给pthread_cancel使Thread立刻中止执行
可是最近一直卡在一个问题上
我执行destroy() 某个thread後
又重新执行
可是有时会发生整个程式被block住的情况
一开始以为是 signal/wait没有处理好
可是一直trace/debug还是找不出问题的徵结在哪
所以想请各位帮忙看一下
不晓得是不是当局者迷, 一直看不清问题点
麻烦各位了
程式下载点
http://www.xun6.com/file/20b9f44c7/ask_tp_verion.tar.gz.html
压缩档中有提供
Makefile 和 runtest.sh档
直接下 make 就会编出一只 test_destroythread 程式
我有写一个简单的 runtest.sh
让这只程式自动跑个1000次
因为这个问题有时会出现有时不会出现0rz...
所以有时要靠点运气他才会出现
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.123.216.117
※ littleboypis:转录至看板 Programming 05/01 12:59
1F:→ cobrasgo:要不要用ps看一下是不是有zombie process? 05/01 16:08
2F:推 areyo:zombie process? Does it be 感染? 05/01 17:51
3F:→ littleboypis:不是zombile process...qq 05/01 19:01
4F:→ adrianshum:我一直觉得这样停止 thread 不是好习惯,应该 thread 05/02 00:49
5F:→ adrianshum:本身的逻辑让 thread 本身完成工作,而非外部硬杀 05/02 00:50