C 多线程传参数问题

2025-04-28 10:05:17
推荐回答(2个)
回答1:

int num = 9;
有效区域仅限于for循环内且在每次循环时都会分配/释放,故你线程在使用时num内存实际已经被释放了,是一个无效地址。
你可以把num定义放到for外定义。

回答2:

  1. 最好做成全局变量 static int num =9;

  2. 主程序main中应当等待子线程结束再退出。

http://baike.baidu.com/view/1191444.htm?fr=aladdin