java - 线程1打印1-10,当线程打印到5后,线程2打印“hello”,然后线程1继续打印...
生活随笔
收集整理的這篇文章主要介紹了
java - 线程1打印1-10,当线程打印到5后,线程2打印“hello”,然后线程1继续打印...
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
public class T {private static int a =1;//1代表線程1 2線程2public static void main(String[] args) {final T t = new T();new Thread(new Runnable() {@Overridepublic void run() {synchronized (t) {for(int i=1;i<=10;i++){if(i==6){try {a=2;//切換線程2t.wait();//線程1等待,并釋放了對象的鎖} catch (Exception e) {e.printStackTrace();}}System.out.println(Thread.currentThread().getName()+":"+i);} }}}).start();;new Thread(new Runnable(){@Overridepublic void run() {synchronized (t) {if(a!=2){//沒有輪到,進(jìn)入等待try {t.wait();} catch (InterruptedException e) {e.printStackTrace();}}System.out.println("hello");t.notifyAll();}}}).start();}
}
?結(jié)果如下:
Thread-0:1
Thread-0:2
Thread-0:3
Thread-0:4
Thread-0:5
Thread-1:hello
Thread-0:6
Thread-0:7
Thread-0:8
Thread-0:9
Thread-0:10
轉(zhuǎn)載于:https://www.cnblogs.com/GotoJava/p/6743043.html
總結(jié)
以上是生活随笔為你收集整理的java - 线程1打印1-10,当线程打印到5后,线程2打印“hello”,然后线程1继续打印...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 以前的子弹可以打磨吗
- 下一篇: 投票wchat