读书人

linux 多线程小例证

发布时间: 2012-10-15 09:45:25 作者: rapoo

linux 多线程小例子

先看一个有问题的例子:


我本意想创建多个线程,然后把他们的线程号随机打印出来,结果出现一样的mynum,不是想要的结果。出现这样的原因是:启动线程时,线程函数的参数是一个局部变量,这个变量在循环中被更新,所以出现这种现象。

出现问题的地方:

在创建线程的时候,最后一个参数局部变量可能被更新,因为主线程运行很快,最后一个参数是传地址,可能在传一个地址的那一刻,i加了两次。

解决办法:

把值当作地址传递,然后打印地址。

代码如下:


读书人网 >UNIXLINUX

热点推荐