读书人

关于Linux多线程的一个疑惑,该怎么解决

发布时间: 2012-03-30 17:32:09 作者: rapoo

关于Linux多线程的一个疑惑
最近做的东西里用到Linux下的多线程,有一个相当诡异的问题。
现在有一个主线程,在主线程里启动两个新线程。
当我重启系统第一次运行这个程序时,两个线程能够依次运行,但是当我关闭后再运行,诡异的问题出现了,第一个线程必须等到第二个线程开始运行才会运行下去,不然就卡到一个地方过不去,很是诡异,不知道到底是什么问题,有人能解答吗?
注:第一个线程是开启agentX的subagent线程的,
SubAgentXMib *mib = new SubAgentXMib();

AgentXSlave *agentx = new AgentXSlave();

AgentXRequestList *reqList = new AgentXRequestList(agentx);
mib->set_request_list(reqList);//register requestList for outgoing requests

init(*mib);

if (!mib->init()) {
perror("Register MIB Error");
pthread_exit((void *)"Subagent Thread finish!");
}
就在mib->init()这里卡住了,实在搞不清怎么回事?

[解决办法]
mib->init()的代码贴出来看看
[解决办法]
pgrep 执行文件名
看看是不是都正常结束了
如果没有 pkill下

LZ不防试下
没准没有正常退出

读书人网 >C++

热点推荐