多线程中的共用变量访问 <br />for(i=0;i{<br /> pWncCfg_Srv = &pWncCfg->WncCfg_Srv;<br /> pWncCfg->nSrvNo = i;<br /> if(pWncCfg_Srv->enable)<br /> {<br /> // i变量存在线程不同步问题 <br /> // pthread_create(&tid, NULL, thread_Socket, &i);<br /> pthread_create(&tid, NULL, thread_Socket, &pWncCfg->nSrvNo);<br /> }<br />}<br /><br />/*直接使用循环变量i,发现创建后的线程中的线程号竟然是SRVRECORD_NUM,i变量为两个线程的公用变量,线程访问该指针时,主线程的i已是SRVRECORD_NUM值了*/<br /><br /><br /><br /><br /><br />for(i=0;i{<br /> pWncCfg_Srv = &pWncCfg->WncCfg_Srv;<br /> pWncCfg->nSrvNo = i;<br /> if(pWncCfg_Srv->enable)<br /> {<br /> // i变量存在线程不同步问题 <br /> // pthread_create(&tid, NULL, thread_Socket, &i);<br /> pthread_create(&tid, NULL, thread_Socket, &pWncCfg->nSrvNo);<br /> }<br />}<br /><br />/*直接使用循环变量i,发现创建后的线程中的线程号竟然是SRVRECORD_NUM,i变量为两个线程的公用变量,线程访问该指针时,主线程的i已是SRVRECORD_NUM值了*/<br /> <br /> <br /> |
|