本文主要是个人对java多线程的了解。
首先要清楚使用多线程的原因背景。目前的计算机都是多核处理,具有并行计算的能力,这为多线程提供了技术保障。在我们的程序处理中,一些逻辑执行集合没有上下文的依赖关系,那么这些逻辑在执行的时候就可以并行执行。
然后就是编程语言对并发的执行。在Java里面,这是一个很大的领域,随着jdk的不断升级,类库也越来越丰富。
语言支持这块,可以从这几方面入手,api支持、实现原理、jvm原理等。
api里面,就是单个线程的执行、线程池、线程工具类;具体到原理,可能是对线程池里面的执行逻辑需要考虑;jvm里面主要考虑的是内存模型。
最后我想说,并发确实不太好掌握,最近出现几个线上问题都跟并发有关。虽然大家都了解,共享变量会造成线程不安全,实际到具体的场景上,这跟弦崩的不太紧。