您的位置:首页 > 编程语言 > Java开发

java毕向东听课笔记16(线程5)

2016-04-18 19:28 253 查看
守护线程:(后台线程)

根据java api ,只说一个方法:setDaemon()的作用是将线程标记为守护线程或用户线程,当正在运行的线程都是守护线程时,java虚拟机退出,特别的,该方法必须在启动线程前调用。

在所有的前台线程都结束后,后台线程自动结束。能看到的线程都是前台线程,比如主线程。

------------------------------------------------

join方法:

等待该线程终止。说白点,就是该线程要cpu执行权。

当A线程执行到了B线程的join方法时,那么A线程就会等待,等B线程都执行完,A才会执行。

join可以用来临时加入线程执行。

---------------------------------------------------

线程中有一个toString方法,覆盖了父类的toString方法,会显示线程的优先级,组等等。

重点说说优先级,优先级代表了抢夺cpu执行权的能力。

默认优先级是5(范围是1~10),可以通过setPriority(int newPriority)方法来更改优先级。又因为1,5,10的优先级最为效果明显,所以对应了Thread.MIN_PRIORITY,Thread.NORM_PRIORITY和Thread.MAX_PRIORITY

-----------------------------------------------------

yield方法

暂停当前正在执行的线程对象,并执行其他线程。

------------------------------------------------------

什么时候用多线程:

当程序中某些代码需要被同时执行,就用线程进行封装。最常用的是用匿名内部类。

如:

class ThreadTest{
public static void main(String[] args){
new Thread(){
public void run(){
for(int x = 0;x<100;x++){
System.out.println(Thread.currentThread().getName()+"...."+x);
}
}
}.start();

Runnable r = new Runnable(){
public void run(){
for(int x=0;x<100;x++)
System.out.println(Thread.currentThread().getName()+"..."+x);
}
};
new Thread(r).start();

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: