首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-03-30 
关于Linux多线程的一个疑惑最近做的东西里用到Linux下的多线程,有一个相当诡异的问题。现在有一个主线程,在

关于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不防试下
没准没有正常退出

热点排行