1. wait,notify和notifyAll必须配合 Object Monitor一起使用.而park,unpark不用.
  2. park 和 unpark是以线程为单位阻塞和唤醒线程.而notify只能随机唤醒一个阻塞线程,而notifyAll唤醒所有线程,就不那么精确.
  3. 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相关推荐

  1. JUC并发编程八 并发架构--ReentrantLock

    相比synchronized,ReentrantLock具备以下特点: 可中断 可以设置超长时间 可以设置为公平锁 可以支持多个条件变量 与synchronized一样,都支持可重入. 验证可重入 i ...

  2. 【檀越剑指大厂--并发编程】并发编程总结

    并发编程 一.并发基础 1.什么是并行和并发? 并行,表示两个线程同时(同一时间)做事情. 并发,表示一会做这个事情,一会做另一个事情,存在着调度. 单核 CPU 不可能存在并行(微观上). 2.什么 ...

  3. Java并发编程:并发容器之CopyOnWriteArrayList(转载)

    Java并发编程:并发容器之CopyOnWriteArrayList(转载) 原文链接: http://ifeve.com/java-copy-on-write/ Copy-On-Write简称COW ...

  4. 【Java并发编程】并发编程大合集

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/17539599 为了方便各位网友学习以及方便自己复习之用,将Java并发编程系列内容系列内容 ...

  5. 【转】Java并发编程:并发容器之ConcurrentHashMap

    JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能.因为同步容器将所有对容器状态的访问都串行化了,这样保证了线程的安全性,所以这种方法的代价就是严重降低了 ...

  6. 学习笔记:Java 并发编程⑥_并发工具_JUC

    若文章内容或图片失效,请留言反馈. 部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/av81461839 配套资料: ...

  7. 并发编程-02并发基础CPU多级缓存和Java内存模型JMM

    文章目录 CPU多级缓存 CPU多级缓存概述 CPU 多级缓存-缓存一致性协议MESI CPU 多级缓存-乱序执行优化-重排序 JAVA内存模型 (JMM) 计算机硬件架构简易图示 JAVA内存模型与 ...

  8. java并发编程_Java并发编程之 synchronized

    大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈).上次老师跟大家分享了下Java中内存泄漏如何分析解决的相关知识,今天跟大家分享Java之 sync ...

  9. 并发编程-01并发初窥

    文章目录 引言 思维导图 基础知识构建 涉及的知识点一览 高并发处理思路与手段一览 并发初窥 概念 并发问题模拟 代码 引言 说来惭愧,一直没有系统的梳理过并发编程的知识,这次借着学习_Jimin_老 ...

最新文章

  1. codeforces 486A-C语言解题报告
  2. 卖肾换来一部iPhone后生活不能自理,那手机电商平台现在卖10块钱!
  3. 白山搜索引擎优化收费_在网络推广中,SEO排名优化是成本最低的方式
  4. logo qt添加_Qt官方示例-窗口标志
  5. Atitit 技术管理项目管理的职责列表attilax总结 v2 r74 brch4com.docx
  6. RTSP视频流直播实现(海康)
  7. 宝塔面板安装和使用教程(详细)
  8. 互联网晚报 | 10月22日 星期五 | 火花思维澄清破产传闻;珠海万达商管赴港提交招股书;特斯拉Q3营收净利均创新高...
  9. 软考倒计时19天:招投标法、合同法、采购法
  10. 宋星:误读数据等于自杀
  11. 软件实施:别把我想简单了
  12. 查找网站真实IP的方法大全
  13. 43.属性名和属性值
  14. JavaScript事件触发
  15. EAUML日拱一卒-微信小程序实战:位置闹铃 (12)-这还不算完
  16. Visio生成eps文件的方法
  17. 2019全国高校深度学习师资培训班免费报名中
  18. 无源滤波器和有源滤波器的区别
  19. 这款基于 Core ML 的开源二次元神器,可以深入学习一下
  20. 如何鉴定游戏音乐的音质?

热门文章

  1. Window.resizeTo()
  2. 分页控件-ASP.NET(AspNetPager)
  3. 嵌入式成长轨迹54 【Zigbee项目】【CC2430基础实验】【系统睡眠工作状态】
  4. MVC小型商务网站实例(2)--项目架构
  5. VS.NET 2005 SP1 安装注意
  6. ROS学习(八):ROS URDF-transmission
  7. 安装oracle11g时,Enterprise Manager配置成功,出现以下警告……
  8. struts 文件下载
  9. CSS3 Filter的十种特效
  10. Event ID 5553 failure trying to synch sitexxxx for ContentDB xx WebApp xx. Exception message ...