加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[javaSE] 多线程(join方法)

发布时间:2021-05-21 06:45:02 所属栏目:大数据 来源: https://www.jb51.cc
导读:多条线程并发执行,随机切换,调用 join() 方法,会使当前线程所在的线程(一般主线程)冻结,直到当前线程结束,所在的线程才恢复继续执行 ? class JoinTestDemo implements Runnable{ @Override public void run() { for ( int x=0;x=5;x++ ){ try { Threa

多条线程并发执行,随机切换,调用join()方法,会使当前线程所在的线程(一般主线程)冻结,直到当前线程结束,所在的线程才恢复继续执行

?

class JoinTestDemo implements Runnable{

    @Override
    public void run() {
        
        for(int x=0;x<=5;x++){
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            System.out.println(Thread.currentThread().getName()+"===="+x);
        }
    }
    
}
class JoinDemo {

    /**
     * @param args
     * @throws InterruptedException 
     */
    static void main(String[] args) throws InterruptedException {
        JoinTestDemo join=new JoinTestDemo();
        Thread t1= Thread(join);
        Thread t2= Thread(join);
        t1.start();
        t2.start();
        上面两个子线程交替执行,主线程冻结,t1走完才解冻
        t1.join();
        显示主线程
        ){
            Thread.sleep(100);
            System.out.println(Thread.currentThread().getName()+"===="+x);
        }
    }

}

?

?

线程的优先级,调用Thread对象的setPriority()方法,可以设置优先级,参数:1510最明显;Thread.MAX_PRIORITYThread.MIN_PRIORITYThread.NORM_PRIORITY

?

调用Thread.yield();可以暂时释放执行权,达到线程平均运行的目的

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读