生活随笔
收集整理的這篇文章主要介紹了
JUC并发编程八 并发架构--park,unpark
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
wait,notify和notifyAll必須配合 Object Monitor一起使用.而park,unpark不用.park 和 unpark是以線程為單位阻塞和喚醒線程.而notify只能隨機喚醒一個阻塞線程,而notifyAll喚醒所有線程,就不那么精確.park和unpark,可以先unpark. 但wait/notify,則不能先notify.
import lombok.extern.slf4j.Slf4j;import java.util.concurrent.locks.LockSupport;@Slf4j(topic
= "c.TestParkUnPark")
public class TestParkUnPark {public static void main(String[] args
){Thread t1
= new Thread(()->{log
.debug("start...");try {Thread.sleep(5000);} catch (InterruptedException e
) {e
.printStackTrace();}log
.debug("park...");LockSupport.park();log
.debug("resume");},"t1");t1
.start();try {Thread.sleep(1000);} catch (InterruptedException e
) {e
.printStackTrace();}log
.debug("unpark...");LockSupport.unpark(t1
);}
}
總結
以上是生活随笔為你收集整理的JUC并发编程八 并发架构--park,unpark的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。