并发编程核心问题
并发编程可以总结为三个核心问题:分工、协作、互斥。
-
分工:
指的是如何高效地拆解任务并分配给线程。
-
协作:
指的是一个线程执行完了一个任务,如何通知执行后续任务的线程开工。当某个条件不满足时,线程需要等待,当某个条件满足时,线程需要被唤醒执行。
-
互斥:
指的是保证同一时刻只允许一个线程访问共享资源。
学习的方式方法
- 贵在坚持,滴水穿石非一日之功,拒绝三分热度。
- 跳出来,看全景,钻进去,看本质。
- 工程上的解决方案,一定要有理论做基础。求理论本质,既能加深对技术本身的理解,也能拓展知识深度和广度。