多线程好还是多进程好
答:如果你的服务器连接的客户端的数量比较少,那么进程和线程在效率方面的差别感觉并不大。如果数量很大,比如1000,甚至更多,如果你用进程,那么响应完1000+的客户端连接就会变得很慢,因为你要把资源复制1000多份;但是用线程,它们共享同一个进程里的资源,就不需要花那么大的开销去响应客户端的连接。
答:经常在网络上看到有的XDJM问“多进程好还是多线程好?”、“Linux下用多进程还是多线程?”等等期望一劳永逸的问题,我只能说:没有最好,只有更好。根据实际情况来判断,哪个更加合适就是哪个好。我们按照多个不同的维度,来看看多线程和多进程的对比(注:因为是感性的比较,因此都是相对的,不是说...
答:1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。两者都可以提高程序的并发度,提高程序运行效率和响应时间。线程和进程在使用上各...
答:常规的做法是起一个线程池,或者是进程池。 使用线程还是进程取决于你处理的信号的类型。如果计算量大,则需要进程池,如果只是设备等待,比如网络数据收发,则线程也勉强够用。信号过来后处理方法有两种,一种是实时处理,这个没有好办法,可以用“微线程”的办法做,尽量减少处理周期。另外一种是允许少量...
答:图(1)显示了使用两种方式的程序性能变化曲线,从图上可以看出,无论使用何种方式,进程和线程都不是越多越好,两种方式都存在一个临界点,超过这个临界点,都会因为频繁的进程或线程状态切换而造成程序性能下降。使用多进程方式在到达临界点之后再增加进程就会引起性能的下降,而且下降速度比单进程多线程...
答:进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的...
答:多线程是在一个进程中运行多个线程,而多进程是在一个进程中运行多个程序。多线程共享同个地址空间、打开的文件以及其他资源,而多进程共享物理内存、磁盘、打印机以及其他资源。在Python中,由于全局解释器锁(GIL)的存在,多线程并不能真正地实现并行计算。因此,如果需要进行大量的计算,建议使用多进程来...
答:例如:用户管理模块,某个配置模块,和其他业务边界明显,就可以采用多进程的方式。多线程:通常位于同一个任务之内,但存在数据独立性的时候,采用多线程。或者,在 GUI 中非常常见的场景,后台线程和 UI 线程的分工。简而言之,当你看到一个进度条,一个快速闪动的状态汇报文本,十有八九,是后台线程...
答:最好是多进程,单线程。一个cpu一个进程,一个进程一个线程。这样可以发货多核的优势。线程切换开销比较大,进程切换开销更大。为啥还要多进程,是因为进程跟cpu绑定,尽量不切换进程。
答:多进程实现和多线程实现是两种不同的并发编程模型,它们之间有以下几个不同点:1. 进程与线程的区别:进程是操作系统资源分配的基本单位,它拥有独立的地址空间、独立的内存空间和独立的文件系统。进程之间的通信需要通过进程间通信(IPC)机制来实现。线程是进程内部的一个执行单元,它共享进程的资源,包括...
网友评论:
焦秦13436062133:
在Linux系统中多进程程序结构和多线程结构那个好? -
6968毕汪
: 多进程程序结构和多线程程序结构有很大的不同,多线程程序结构相对于多进程程序结构有以下的优势:1、方便的通信和数据交换 线程间有方便的通信和数据交换机制.对不同进程来说,它们具有独立的数据空间,要进行数据的传递只能通过...
焦秦13436062133:
多核平台下,程序写成多进程的好还是多线程的好? -
6968毕汪
: 当然是多线程的程序好了.原因很简单,线程间的切换,数据的共享,通信,都要比进程间的容易的多,开销小的多,性能也就好得多
焦秦13436062133:
简述线程与进程的区别及优缺点? -
6968毕汪
: 进程优点:每个进程互相独立,不影响主程序的稳定性,子进程崩溃没关系; 缺点:需要跨进程边界,如果有大数据量传送,就不太好,适合小数据量传送、密集运算 多进程调度开销比较大.线程优点:无需跨进程边界;缺点:每个线程与...
焦秦13436062133:
多线程和多进程的程序各有什么优缺点,分别用在什么场合 -
6968毕汪
: http://www.cnblogs.com/Yogurshine/p/3640206.html 线程也好,进程也好,都要硬件基础上软件的配合,进程内线程的增加,也增加开发软件的难度,方向是好的,代价也是有的.
焦秦13436062133:
多线程和多进程架构分别有哪些优劣势 -
6968毕汪
: (windows2k的criticalsection和linux的pthread_mutex),windows比linux的要快五倍左右.当然这并不是说linux不好,而且在经过实际编程之后,综合来看我觉得linux更适合做highperformanceserver,不过在多线程这个具体的领域内,linux还是稍逊...
焦秦13436062133:
多线程和多进程的区别 -
6968毕汪
: 要了解二者的区别与联系,首先得对进程与线程有一个宏观上的了解.进程,是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竟争计算机系统资源的基本单位.每一个进程都有一个自己的地址空间,即进程空间或...
焦秦13436062133:
vc 多进程 多线程 哪个更适合网络通信 -
6968毕汪
: 关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”,这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有这么简单了,选的不好,会让你深受其害.经常在网络上看到有的XDJM问“多进程好还是多线程好?”、“Linux下用多进程还是多线程?”等等期望一劳永逸的问题,我只能说:没有最好,只有更好.根据实际情况来判断,哪个更加合适就是哪个好.我们按照多个不同的维度,来看看多线程和多进程的对比(注:因为是感性的比较,因此都是相对的,不是说一个好得不得了,另外一个差的无法忍受).
焦秦13436062133:
Linux 下多线程和多进程程序的优缺点,各自适合什么样的业务场景 -
6968毕汪
: Linux 下多线程和多进程程序的优缺点,各自适合什么样的业务场景IBM有个家伙做了个测试,发现切换线程context的时候,windows比linux快一倍多.进出最快的锁(windows2k的 critical section和linux的pthread_mutex),windows比linux的要快...
焦秦13436062133:
面试总结,多进程和多线程的区别 -
6968毕汪
: 一般的server需要完成如下任务:消息收发和消息处理.消息收发和消息处理就是弱相关的任务,而消息处理里面可能又分为消息解码、业务处理,这两个任务相对来说相关性就要强多了.因此消息收发和消息处理可以分进程设计,消息解码和业务处理可以分线程设计. 4)可能扩展到多机分布的用进程,多核分布的用线程. 5)都满足需求的情况下,用你最熟悉、最拿手的方式. 至于”数据共享、同步“、“编程、调试”、“可靠性”这几个维度的所谓的“复杂、简单”应该怎么取舍,只能说:没有明确的选择方法.一般有一个选择原则:如果多进程和多线程都能够满足要求,那么选择你最熟悉、最拿手的那个.
焦秦13436062133:
多进程和多线程到底有什么区别 -
6968毕汪
: 线程是进程的一个单位,也就是说一个进程可能包含了多个线程.多进程必然是多线程.