join():线程加入。等待该线程结束。
比如主线程执行了到了A线程的join方法。这时主线程会释放cpu的执行资源,让其他线程执行。
其他线程中包含A线程。那么主线程什么执行呢?主线程只等A线程结束后,就会恢复到运行状态。
如果这时还有其他线程在执行,那么主线会和其他线程共同抢资源运行。
通常可以临时让一个线程加入,并执行完。
setPriority(int):设置线程的优先级。优先级1~10,为了方便应用,给较为明显的数值进行名称的定义。
Thread类中的三个常量:MAX_PRIORITY MIN_PRIORITY NORM_PRIORITY
线程开启时,默认优先级都是5.
yield():暂停线程,当前线程释放资源,可以让其他线程得以执行。
它的出现可以暂缓程序的执行。
-----------------------
在程序中的应用:
可以随时的通过匿名内部类开一个控制单元。
class Demo
{
main()
{
new Thread()//创建的是Thread的子类匿名对象。(传说中的匿名内部类)
{
public void run()
{
code...;
}
}.start();
code...;//主线程代码。
Runnable r = new Runnable()
{
public void run()
{
code...;
}
};
new Thread(r).start();
}
}
完整的多线程相关的一个程序,其中的代码包括总结性的知识,可以看看
|
|