int num = 9;有效区域仅限于for循环内且在每次循环时都会分配/释放,故你线程在使用时num内存实际已经被释放了,是一个无效地址。你可以把num定义放到for外定义。
最好做成全局变量 static int num =9;
主程序main中应当等待子线程结束再退出。
http://baike.baidu.com/view/1191444.htm?fr=aladdin