多线程
杨杨ruyi1927
这个作者很懒,什么都没留下…
展开
-
第五章节 - 跨线程共享内存
跨线程共享内存 - 章节介绍跨线程共享内存 - 小节线程间的沟通线程需要共享它们的数据比让值可见更复杂值也必须正确:1> 缓存[读取陈旧值]的问题2> 编译器“欺骗”问题好的设计是关键意识到这一点很重要1> 需要在设计阶段考虑如何共享数据2> 没有计划地编写代码会导致困难Bugs可以是:1> 微妙的2> 很难找到3...原创 2019-07-14 17:40:31 · 757 阅读 · 0 评论 -
第六章节 - 理解互斥锁
理解互斥锁 - 章节介绍Mutual Exclusion - Mutexes(互斥锁) - 小节在最后一节…了解了如何安全地共享内存和避免数据争用- 用volatile- 发布不可变对象这是我们唯一的担心吗?竞态条件竞态条件导致:- 不一致的数据- Invariants brokenvolatile不能帮助如果只有一个线程可以编写,那么发布对象将有所帮助...原创 2019-07-18 22:16:54 · 513 阅读 · 0 评论 -
第七章节 - Liveness问题:防止死锁、生命锁和饥饿
Liveness问题:防止死锁、生命锁和饥饿 - 章节介绍Liveness问题 - 小节互斥锁和滥用三个“活性”问题(影响程序的响应能力)死锁活锁饥饿哲学家和互斥锁每个哲学家就像一根线每个叉就像一个互斥体,保护食物互斥对象可用于受保护的资源- 例如对象、文件、数据库或硬件哲学家的例子与通常使用互斥锁的方式略有不同互斥锁的优缺点优点:- 防止竞态...原创 2019-07-23 21:26:14 · 327 阅读 · 0 评论 -
第八章节 - 线程间通信和信令
线程间通信和信令 - 章节发信号的需要 - 小节发信号的需要线程还没有工作要做需要在操作期间向线程提供额外的数据ack等待并释放互斥体(监视器)实现生产者/消费者模式演示BlockingQueue生产者消费模式 - 小节生产者/消费者模式从一个或多个生产者发送到一个或多个消费者的消息- 消费者使用消息- 生产者发送它消费者代表生产者进行...原创 2019-08-06 22:27:33 · 149 阅读 · 0 评论 -
第九章节 - 线程池
线程池 - 章节线程池简介 - 小节介绍我们可以实现我们自己的线程池,但是……- 如果异常工作量需要处理怎么办?- 如果线程抛出异常并死亡?- 我们可能需要管理数百个线程介绍线程池为我们做这些,所以我们不需要重新发明轮子- 它更像是一个引擎,但如果需要,我们可以扩展它线程池的API - 小节将任务传递给线程池任务被传递给Thread...原创 2019-08-27 22:21:13 · 88 阅读 · 0 评论 -
并发与多线程
原文链接:http://note.youdao.com/noteshare?id=d44b263889d94bda5bc1e7821539a9fe&sub=8E29F926CDC844F1A588F6ED22A3F690原创 2019-07-04 20:39:22 · 85 阅读 · 0 评论