关于并发模型

线程模型可能是最经典的线程模型。在多核cpu诞生之前,线程模型就作为一种并发解决方案被提出来并且大规模使用了。

为什么是线程模型?第一是线程模型符合人类线性思维直觉,心智负担小。第二是线程是对进程的历史延续,实现难度低。第三是线程的overhead相对较小,当时的硬件条件不支持更复杂的并发模型。

但是随着多核cpu的发展,并发需求越来越大,人们发现简单粗暴的线程模型存在很多弊病,一些人试图通过软件工程的方式去回避线程模型的问题,一些人则试图扩展线程模型,另一些人则在考虑新的并发模型。

事件驱动,回调属于第一者,netty是其中的代表。轻线程,包括golang的goroutine和各种stackful的协程实现属于第二者。

actor模型则属于第三者,当然,因为os的并发模型是线程的,现在所谓的新的并发模型也只能是base on thread的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注