2. 多进程缺点
逻辑控制复杂,需要和主程序交互;需要跨进程边界,如果有大数据量传送,就不太好,适合小数据量传送、密集运算多进程调度开销比较大;五. 多线程
1. 多线程的优点
无需跨进程边界;程序逻辑和控制方式简单;所有线程可以直接共享内存和变量等;线程方式消耗的总资源比进程方式好;
2. 多线程缺点
每个线程与主程序共用地址空间,受限于2GB地址空间;线程之间的同步和加锁控制比较麻烦;一个线程的崩溃可能影响到整个程序的稳定性;到达一定的线程数程度后,即使再增加CPU也无法提高性能,例如Windows Server 2003,大约是1500个左右的线程数就快到极限了(线程堆栈设定为1M),如果设定线程堆栈为2M,还达不到1500个线程总数;线程能够提高的总性能有限,而且线程多了之后,线程本身的调度也是一个麻烦事儿,需要消耗较多的CPU
在开发中,最好是多进程和多线程结合,即根据实际的需要,每个CPU开启一个子进程,这个子进程开启多线程可以为若干同类型的数据进行处理 。当然你也可以利用多线程+多CPU+轮询方式来解决问题 。方法和手段是多样的,关键是自己看起来实现方便有能够满足要求,代价也合适 。
文章插图
- 蒸苹果要蒸多久?蒸苹果的做法与功效 正确蒸苹果的方法蒸多久
- 4500g是多少斤水 4500g是多少斤
- 压力表真空压力表安全阀多久校验一次 压力表安全阀多久校验一次
- {} 越南与中国时间差是多少
- ipad登录微信历史消息 ipad微信同步漏消息
- iphonexr尺寸长宽高 iphonexr尺寸长宽多少厘米
- 求铜的重量 铜的重量是多少怎么算
- 鸟巢能容下多少万人 鸟巢最多能容纳多少人
- {} 小米6屏幕尺寸是多少
- 50g等于多少毫升 50g相当于多少毫升