前两篇介绍了线程的基本内容。这一次介绍常用“方法”。内容不多,上次由于新浪说我的文章超过2万字,搞得我不得不分开两篇。这一次为了避免这样的麻烦,只讲方法。不写代码了。
sleep():最常用的方法
比如你已经生成了一个线程对象xthread,那么你可以用xthread.sleep(/*毫秒*/);来让线程暂时停一下。或者,不管三七二十一直 接,Thread.sleep(/*毫秒*/)把当前的线程停下来,官方解释叫做“暂时让出使用权”。还有一个叫做wait(),这个方法只能用在继承 (extends)自Object类的实现(有点拗口,没办法标准说法),而非Thread类的实现。
currentThread():当前线程。这个在第一次的例子里用过,就是现实当前运行的是什么线程。
isAlive():线程是否还在执行。返回的是一个布尔值,也就是ture或者false.
getPriority(),setPriority():取得线程的优先级和设置线程的优先级。有三个档次,分别为1,5,10。当然你也可以在1-10中间随便找一个数字。有了优先级的概念那么我就可以指点线程德云县顺序了。
比如说有thread1和thread2
thread1.setPriority(5);
thread2.setPriority(8);
那么但我
thread1.start();
thread2.start();
的时候,运行的将是thread2而不是thread1.不信可以自己试试。
join():等候执行
当在定义两个线程为thread1.join()和thread2.join()并且thread2是在thread1执行的时候start()的,那么当thread1暂停的时候,thread2也会停下来。
如果没有专门的研究,一般的使用这些功能已将足够了。
本文转自 xhinkerx 51CTO博客,原文链接:http://blog.51cto.com/xhinker/134221,如需转载请自行联系原作者