多线程
文章平均质量分 94
YY_worhol
这个作者很懒,什么都没留下…
展开
-
并发编程实战——理论基础模块
并发编程并发编程并发三个核心问题可见性、原子性和有序性源头之一:缓存导致的可见性问题源头之二:线程切换带来的原子性问题源头之三:编译优化带来有序性问题Java内存模型:Java如何解决可见性和有序性volatilehappens-before原则互斥锁 并发编程 并发三个核心问题 并发编程领域可以抽象成三个核心问题:分工,同步和互斥。 分工很好理解,java sdk并发包里的executor, fork, join,future等本质都是一种分工方式,除此之外,一些设计模式也是用来指导如何分工的,例如生产者原创 2021-04-26 19:45:10 · 660 阅读 · 0 评论 -
并发
并发/并行 并发:多任务交替执行,任务之间可能是串行,也可能是并行;多任务在一个cpu上轮流执行 并行:多任务同时执行。 互斥/同步 互斥:共享的进程资源,单个线程访问的时候具有排他性; 同步:线程之前的按照顺序执行 并发编程三要素 原子性; 可见性;(syn/volatile)缓存带来的可见性问题; 有序性;编译优化; 形成死锁的四个必要条件 互斥:一个资源只能被一个线程持有; 不可剥夺; 请求-保持; 循环等待; runnable/call.原创 2021-01-13 19:17:19 · 243 阅读 · 0 评论 -
java同步机制
java同步机制的几种方式 出现线程安全问题: 如果存在多个线程对共享资源竞争,就可能发生线程安全问题。 一般解决线程安全问题,需要➕锁 synchronized同步方法 对于非static方法加上synchronized,是对当前对象加锁。而如果对static方法加上suychronized关键字,是对当前类对象-class对象加锁。 1. 如果一个线程访问一个对象的synchronized...原创 2018-11-01 10:59:56 · 380 阅读 · 0 评论