进程也能够完毕任务,为什么要在一个进程中再有一类进程(也就是迷你进程,称为线程)?
有非常多原因,当中主要原因是进一步提高系统的并发性。
在很多应用中同一时候发生着多种活动,某些活动随着时间的推移会被堵塞。通过将这些应用程序分解成可并行执行的多个顺序程序,程序设计会变得更简单。
以下列出几个促使多线程产生的主要原因:
1)线程是并行实体,共享同一个地址空间和全部数据的能力,这是多进程模型没有的。
2)线程比进程更轻量级,比进程更easy(更快)创建和撤销,在有大量线程须要修改和高速修改时,这一特性是十分重要的。
3)若多个线程都是CPU密集型的。多线程那么并不能获得性能上的增强。可是假设存在着大量的计算和大量的I/O处理,拥有多个线程同意这些活动彼此重叠进行从而会加快应用程序运行的速度;
4)多线程系统使得真正的并行有了实现的可能,提高了CPU利用率。