实战Java高并发程序设计/第一章 走入并行世界

2020.7.26开始阅读学习 葛一鸣<<实战Java高并发程序设计>>

第一章 走入并行的世界

并行计算在图像处理和服务端编程有大量的使用

1.基本概念

1.1同步和异步 形容一次方法的调用

同步(Synchronous)   调用开始,调用者必须等待方法的返回,才能继续后续的行为 (例如:下馆子)

异步(Asynchronous) 调用开始,方法立即返回,调用者可以继续后续的操作.真正的方法执行是在另一个线程中,整个过程不会影响调用者的工作.(例如:点外卖)

1.2并发和并行 都表示两个或多个任务一起执行

并发(Concurrency)  侧重于多个任务交替执行,多任务之间可能还是串行执行 

并行(Parallelism)    真正意义上的 同时执行 (更多是在多核情况下)

1.3临界区 表示公共资源(共享数据)

临界区  可以被多个线程使用,但是每次只能有一个线程使用,一旦临界区被占用,其他线程就必须等待.

2.并发级别

阻塞

无饥饿

无障碍

无锁

五等待

3.JMM

原子性

可见性

有序性

猜你喜欢

转载自www.cnblogs.com/wf-zhang/p/13382645.html