手机版

多进程和多线程有什么区别?多进程多线程的优缺点

时间:2021-09-01 来源:互联网 编辑:宝哥软件园 浏览:

多进程和多线程的区别是什么?之前在小编介绍过进程和线程的区别,那么你知道多进程和多线程的区别是什么吗?它们的优缺点是什么?为了解决大家的疑惑,边肖特意为大家整理了以下教程,希望对大家有所帮助。

多进程和多线程的区别是什么?多进程和多线程的优缺点分析

  前言:

多进程,Windows应用程序中有两种发送消息的方式;直达和排队。Windows或一些正在运行的应用程序可以直接向窗口进程发出消息,也可以将消息发送到持续轮询消息队列的操作系统。事件驱动不是由事件的顺序来控制的,而是由事件的发生来控制的,事件的发生具有随机性和不确定性,这使得程序的用户可以按照各种合理的顺序来安排程序流程。

多线程(英文:多线程)是指从软件或硬件上实现多线程并发执行的技术。具有多线程能力的计算机由于有硬件支持,可以同时执行多个线程,从而提高整体处理性能。具有此功能的系统包括对称多处理器、多核处理器和芯片级多线程或同时多线程处理器。[1]在一个程序中,这些独立运行的程序片段称为“Thread”,用它们编程的概念称为“多线程”。具有多线程能力的计算机由于有硬件支持,可以同时执行多个线程,从而提高整体处理性能。

  一、多进程和多线程的区别是什么?

在Linux下,多进程编程使用较多,多线程编程使用较少。

IBM的一个家伙做了一个测试,发现在切换线程上下文时,windows的速度是linux的两倍多。在进入和离开最快的锁方面,Windows比linux快大约5倍(windows2k的关键部分和linux的pthread_mutex)。当然,这并不是说linux不好,经过实际编程,我觉得linux更适合做一个高性能的服务器,但是在具体的多线程领域,linux还是有点不如windows。这应该情有可原。毕竟,unix家族来自多个进程,而windows从一开始就是多线程的。

如果是UNIX/linux环境,就没有必要采用多线程。

多线程比多处理好吗?误导!

应该说多线程比多处理便宜,但是性能更低。

在UNIX环境下,多进程调度开销和多线程调度开销没有显著差异,也就是说UNIX进程调度效率很高。在内存消耗方面,两者的区别仅在于全局数据区。现在内存很便宜,服务器内存完全不是问题。

多流程是一个立体的运输系统。虽然成本高,上坡下坡耗油多,但没有堵车。

多线程是一种低成本的平面交通系统,但是红绿灯太多,交通堵塞。

我们现在都开跑车,而且我们有很多油。我们不怕上坡或下坡,但我们害怕交通堵塞。

高性能的事务服务器中间件,如TUXEDO,提倡多进程。实际测试表明,TUXEDO具有很高的性能和并发效率。TUXEDO属于贝尔实验室,属于UNIX。Tuxedo应该对UNIX有最深刻的理解,他们的意见应该有很大的参考意义。

  二、多进程和多线程的优缺点分析:

  多进程:

  多进程优点:

1.每个进程相互独立,不影响主程序的稳定性,子进程崩溃也没关系;

2.通过增加CPU,可以轻松扩展性能;

3.即使线程运行的模块算法效率不高,也可以最大限度地减少线程锁定/解锁的影响,大大提高性能;

4.每个子进程都有2GB的地址空间和相关资源,整体性能限制可能会很大。

  多进程缺点:

1.逻辑控制复杂,需要与主程序交互;

2.它需要跨越流程边界。如果有大量的数据传输,就不是很好。适用于小型数据传输和密集型操作。多流程调度成本相对较大;

3.最好是多进程和多线程相结合,即根据实际需要,每个CPU启动一个子进程,这个子进程启动多线程处理几个同类型的数据。当然,您也可以使用多线程和多CPU轮询来解决这个问题.

4.方法手段多种多样,关键是实现起来似乎方便,符合要求,成本也合适。

  多线程:

  多线程的优点:

1.不需要跨越流程边界;

2.程序逻辑和控制方式简单;

3.所有线程可以直接共享内存和变量;

4.线程模式比进程模式消耗更好的总资源。

  多线程缺点:

1.每个线程与主程序共享地址空间,受2GB地址空间限制;

2.线程之间的同步和锁定控制比较麻烦;

3.一个线程的崩溃可能会影响整个程序的稳定性;

4.达到一定线程数后,即使增加CPU,性能也无法提升。例如,在Windows Server 2003中,线程数约为1,500,接近极限(线程堆栈设置为1M)。如果线程堆栈设置为2M,线程总数仍然小于1500;

5.线程能够提升的整体性能是有限的,当线程较多时,线程的调度本身就是一件麻烦的事情,需要更多的CPU。

这里介绍了多进程和多线程的区别。对于还蒙在鼓里的人,快看看上面的教程吧!相信你会有所收获!

版权声明:多进程和多线程有什么区别?多进程多线程的优缺点是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

相关文章推荐