博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
嵌入式100题(003):什么时候用进程,什么时候用线程
阅读量:4167 次
发布时间:2019-05-26

本文共 443 字,大约阅读时间需要 1 分钟。

什么时候用进程,什么时候用线程

线程进程的区别体现在几个方面:

  1. 地址空间和其它资源(如打开文件):进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。
  2. 通信: 进程间通信 IPC(管道,信号量,共享内存,消息队列,信号,套接字),线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
  3. 调度和切换:线程上下文切换比进程上下文切换要快得多。
  4. 在多线程OS中,进程不是一个可执行的实体。

进程与线程的选择取决以下几点:

  1. 需要频繁创建销毁的优先使用线程;因为对进程来说创建和销毁一个进程代价是很大的。
  2. 线程的切换速度快,所以在需要大量计算,切换频繁时用线程,还有耗时的操作使用线程可提高应用程序的响应
  3. 因为对CPU系统的效率使用上线程更占优,所以可能要发展到多机分布的用进程,多核分布用线程;
  4. 并行操作时使用线程,如C/S架构的服务器端并发线程响应用户的请求;
  5. 需要更稳定安全时,适合选择进程;需要速度时,选择线程更好。

转载地址:http://ttrxi.baihongyu.com/

你可能感兴趣的文章
return 与 exit()的区别
查看>>
fflush(stdin);的作用
查看>>
欢迎使用CSDN-markdown
查看>>
python3 文件合并
查看>>
python3 字典遍历操作
查看>>
python 统计词频
查看>>
使用python字典合并文本
查看>>
python字典update()方法
查看>>
python format()方法
查看>>
python自顶向下的设计方法进行体育竞技分析
查看>>
python自底向上的执行单元测试
查看>>
软件开发方法基础
查看>>
python面向过程程序设计
查看>>
python绘制铅球的运行轨迹
查看>>
python面向对象程序设计
查看>>
python通过面向对象程序设计方法 实现铅球运行轨迹的计算
查看>>
python面向对象的3个特点
查看>>
python条件语句嵌套
查看>>
python range()和xrange()
查看>>
python while循环和for循环
查看>>