多线程——守护线程,join方法守护线程:也叫后台线程,他需要在线程创建后, 就需要设置。
前台线程:所看到的线程都是前台的线程。
然后在开始执行线程。
在运行的时候, 会共同抢夺CPU的执行权运行, 开启运行时没有区别的;
但是在结束程序上有区别:
当前台的线程都结束后, 后台的线程就会自动结束。
join方法:等待该线程终止。
代码如下:
- //线程0, 要申请加入进来, 线程0要CPU的执行权,join的意思就是, 抢夺CPU的执行权。
- //这时主线程就把CPU的执行权给了线程0,主线程处于冻结状态;
- //数据全部打印完, 结束后,主线程才恢复到运行状态,这个就是join 的用法,
- //主线程让出了执行权,这时主线程会只等到t1线程执行完,才活过来, 和t2结不结束, 没有关系,
- //join可以临时加入线程执行
- class Demo implements Runnable
- {
- public void run(){
- for(int x=0;x<70;x++){
- System.out.println(Thread.currentThread().toString()+"...."+x);
- Thread.yield();//暂停当前执行的线程程序
- }
- }
- }
- class ThreadJoin
- {
- public static void main(String[] args)throws InterruptedException
- {
- Demo d=new Demo();
- Thread t1=new Thread(d);
- Thread t2=new Thread(d);
- t1.start();
- //t1.setPriority(Thread.MAX_PRIORITY);//设置优先级
-
- t2.start();
- //t1.join();
- /*
- for(int x=0;x<80;x++){
- System.out.println(Thread.currentThread().getName()+"...."+x);
- }
- */
- }
- }
复制代码
|
|