2012年计算机二级Java多线程入门2(二)

时间:2012-07-13 22:35:07

微信搜索关注"91考试网"公众号,领30元,获取事业编教师公务员等考试资料40G
程名。

  运行结果如下:

  thread1:MyThread1

  thread2:MyThread2

  thread3:Thread-1

  从上面的输出结果可以看出,thread1和thread2的线程名都已经修改了,而thread3的线程名仍然为默认值:Thread-1.thread3的线程名之所以不是Thread-2,而是Thread-1,这是因为在026行已经指定了thread2的Name,因此,启动thread3时就将thread3的线程名设为Thread-1.因此就会得到上面的输出结果。

  注意:在调用start方法前后都可以使用setName设置线程名,但在调用start方法后使用setName修改线程名,会产生不确定性,也就是说可能在run方法执行完后才会执行setName.如果在run方法中要使用线程名,就会出现虽然调用了setName方法,但线程名却未修改的现象。

  Thread类的start方法不能多次调用,如不能调用两次thread1.start()方法。否则会抛出一个IllegalThreadStateException异常


首页 上页 1 2 下页 尾页 2/2/2
微信搜索关注"91考试网"公众号,领30元,获取公务员事业编教师考试资料40G
【省市县地区导航】【考试题库导航】

电脑版  |  手机版  |  返回顶部