机票网站建设公司好,成都网站建设顶呱呱,学做小程序需要哪些基础,如何做视频网站的广告推广实战Java高并发程序设计#xff08;第二版#xff09;为什么会有并行计算#xff1f;并行计算需要回答的问题基本概念并发级别有哪些#xff1f;Amdahl定律和Gustafson定律Java并发三特性进程和线程线程的生命周期Thread类run()与start()的区别为什么会有并行计算#xff…
实战Java高并发程序设计第二版为什么会有并行计算并行计算需要回答的问题基本概念并发级别有哪些Amdahl定律和Gustafson定律Java并发三特性进程和线程线程的生命周期Thread类run()与start()的区别为什么会有并行计算
单核CPU → 摩尔定律失效 → 多核CPU → 并行计算
Donald Ervin Kunth对于多核CPU的评价这种现象或多或少是由于硬件设计师已经无计可施了他们将摩尔定律失效的责任推给了软件开发者
并行计算需要回答的问题
①如何保证线程安全 ②如何正确理解线程间的无序性和可见性 ③如何将串行程序改造为并行程序
基本概念
同步和异步synchronousasynchronous
并发和并行concurrencyparallelism
临界区critical section
阻塞和非阻塞blockingnon-blocking
死锁、饥饿和活锁deadLock、starvationliveLock
并发级别有哪些
①阻塞blockingsynchronized和可重入锁 ②无饥饿starvation-free公平锁 ③无障碍obstruction-free乐观锁 ④无锁lock-freeCAS ⑤无等待wait-freeRCU
Amdahl定律和Gustafson定律
Java并发三特性
①原子性 ②有序性 ③可见性 → 指令重排序 → happen-before原则
进程和线程
进程房子 线程房子里的人
线程的生命周期
①new ②runnable ③blocked ④waiting ⑤time-waited ⑥terminated
Thread类run()与start()的区别