java 线程工作原理_Java线程状态运行原理解析

这篇文章主要介绍了Java线程状态运行原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

java 线程工作原理_Java线程状态运行原理解析_第1张图片

代码实例如下

package com.fgy.demo05;

/**

* 等待唤醒案例:线程之间通信

* 注意:

* 同步使用的锁对象必须唯一

* 只有锁对象才能调用wait和notify()/notifyAll()方法

*/

public class Demo1WaitAndNotify {

public static void main(String[] args) {

Object obj = new Object();

new Thread() {

@Override

public void run() {

synchronized (obj) {

System.out.println("顾客告知要的包子和数量");

try {

obj.wait();

// obj.wait(5000); // 如果5秒后没有被唤醒,则会自动醒来

} catch (InterruptedException e) {

e.printStackTrace();

}

System.out.println("老板把包子做好了,可以开吃");

}

}

}.start();

new Thread() {

@Override

public void run() {

try {

Thread.sleep(5000); // 花费5秒做包子

} catch (InterruptedException e) {

e.printStackTrace();

}

synchronized (obj) {

System.out.println("告知客户,可以吃包子了");

obj.notify();

}

}

}.start();

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持云海天教程。

你可能感兴趣的:(java,线程工作原理)