线程状态及其方法

线程状态

3ba3b5277847bbafdc9f8f3121dc5d1ffc0.jpg

f24e985f5a35db0984b41890df2e58da4da.jpg

线程方法:

4a46cf20bd9ecf8bc774536275bcdaf9230.jpg

yiled:        让当前线程暂停,并立即进入就绪状态(不是阻塞状态)

package com.wxh.statictest;

/**
 * yield:礼让线程(也是线程暂停的一种方式),让出当前执行,立即进入就绪状态,而不会阻塞状态。
 * @author Administrator
 *
 */
public class yieldTest1 {
     public static void main(String[] args) {
         MyYield m1 = new MyYield();
            new Thread(m1,"a").start();
            new Thread(m1,"b").start();
            
            for(int i = 0;i<100;i++) {
                if(i%20==0) {
                    Thread.yield();
                System.out.println(Thread.currentThread().getName()+i);
            }}
    }
}

class MyYield implements Runnable{

    @Override
    public void run() {
        for(int i = 0;i<100;i++) {
            System.out.println(Thread.currentThread().getName()+"---->>"+i);
        //     Thread.yield();
            
        }
      
    }
    
}

 

jion(成员方法):合并线程,待此线程执行完毕后,在执行其他线程,其他线程阻塞

买烟的故事:

package com.wxh.statictest;

public class JoinFatherAndSon {
    public static void main(String[] args) {
        System.out.println("抽烟的故事");
        new Thread(new Father()).start();
    }
}

class Father extends Thread {
    public void run() {
        System.out.println("老爸想抽烟啦。。。");
        System.out.println("让儿子出去买。。。");
        Thread t = new Thread(new Son());
        t.start();
        
        try {
            t.join();    //father 被阻塞
        } catch (InterruptedException e) {
             System.out.println("孩子走丢啦,出去找孩子。。。。。");
            e.printStackTrace();
        }
        System.out.println("老爸接过儿子的烟,吧零钱给了孩子");
    }
}

class Son extends Thread {
    public void run() {
        System.out.println("接过老爸手里的钱,出去了");
        System.out.println("路过游戏厅,玩了10秒");
        for(int i = 0;i<10;i++) {
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                
                e.printStackTrace();
            }
            System.out.println(i+"秒过去啦。。。。");
        }
        System.out.println("想起了要买烟,去买了烟回家");
        System.out.println("吧烟给了老爸");
        
    }
}

 

 

转载于:https://my.oschina.net/u/3788977/blog/2050738

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值