本文用于记录学习黑马JUC课程后,个人认为有价值的笔记,核心内容均围绕标题展开。既做一个学习的记录,同时也做一个沟通交流,欢迎各位大佬互动~
wait & notify
原理:
API:
Sleep(long n)和wait(long n)的区别:
park & unpark
LockSupport类中的方法:
//暂停当前线程(线程状态:WAIT)
LockSupport.park();
//恢复某个线程的运行
LockSupport.unpark(暂停线程对象)
与wait和notify区别:
①先调用unpark,再调用park,恢复暂停的线程。(相当于提前解读);而wait,notify不行;
②wait, notify, notifyAll必须配合Object Monitor一起使用,而unpark不必;
③park和unpark以线程为单位唤醒和阻塞线程,而notify只能随机唤醒,notifyAll是全部唤醒,不能那么精确对线程进行操作;
原理(后续需加深理解)