设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
编程开发讨论区 —— LinuxSir.cn
›
Linux 程序设计专题讨论
›
线程还是进程?
返回列表
查看:
748
|
回复:
5
线程还是进程?
[复制链接]
duanius
duanius
当前离线
积分
47
IP卡
狗仔卡
发表于 2007-6-1 20:25:14
|
显示全部楼层
|
阅读模式
很疑惑linux下编程到底是进程还是线程
有2种声音 一种认为线程明显比进程优化
另一种认为在linux下进程和线程基本上没有区别(从内核角度看确实如此 线程只是共享数据的进程) 虽然进程的上下文切换需要开销 但线程的同步的开销一样不可小视 而且linux下进程以及很轻 开销很小 而线程却连个标准都没有 移植性差 使用线程只是那些进程设计臃肿的系统的无奈之举
诸位意见如何 现实中又是怎样
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
Sakur_Fre
Sakur_Fre
当前离线
积分
169
IP卡
狗仔卡
发表于 2007-6-2 00:08:47
|
显示全部楼层
在嵌入式开发中你会遇到很多没有进程的操作系统,Realtime OS居多,从最初的Linux thread,到Posix thread,再到现在的NPTL,Linux的线程Model在一步一步发展。在Linux下,一个进程在Kernel Space还是以一个Thread存在着,进程只是一个资源Resource隔离的单位。写程序,就是要快快乐乐写自己和其他人方便使用的程序,对于到底是进程编程还是线程编程好,这种问题自己试一下不就知道了,不必要跟着固定的标准。
回复
支持
反对
使用道具
举报
显身卡
duanius
duanius
当前离线
积分
47
IP卡
狗仔卡
楼主
|
发表于 2007-6-2 00:20:10
|
显示全部楼层
就我写的小程序而言 使用线程和进程是差不多的 但我想知道就效率和性能而言到底哪个强一些 对于比较大的项目 rtos里面不是应该进程用的多一些么? 抱歉我不是很了解
回复
支持
反对
使用道具
举报
显身卡
realtang
realtang
当前离线
积分
1279
IP卡
狗仔卡
发表于 2007-6-2 09:39:46
|
显示全部楼层
如果只是从MUTEX对共享资源保护的效率上讲。
Linux2.6内核提供了FUTEX(意思是Fast Mutex),现在实现的NPTL采用了FUTEX,在以前,因为进程与线程在访问共享资源时会产生很多的上下文切换,而这种用户态内核态之间的切换是很消耗CPU指令的,所以老的MUTEX效率并不高,采用了FUTEX之后线程对共享资源的保护这块,大部分工作都不需要进行上下文切换。
显然,在这点上,线程效率要比进程高很多。
如果不看这点,进程采用了共享内存机制与子进程共享资源这种方式和线程相比,运行起来,确实是差不多的。
而在嵌入式来说,如果使用pthread还要连接pthread库,这样一来,footprint多了一些。有些不合理。
回复
支持
反对
使用道具
举报
显身卡
duanius
duanius
当前离线
积分
47
IP卡
狗仔卡
楼主
|
发表于 2007-6-2 14:23:01
|
显示全部楼层
光学进程极其ipc够用么? 现阶段实在懒得学线程。。。
回复
支持
反对
使用道具
举报
显身卡
Sakur_Fre
Sakur_Fre
当前离线
积分
169
IP卡
狗仔卡
发表于 2007-6-2 19:18:38
|
显示全部楼层
RTOS里,我只接触过 i-Tron这个OS,里面没有进程的概念,所以我们所作的是用User-level thread, 现在是Multi-core的时代了, 也就是说,对资源的占用不象以前单CPU的那么紧张了,所以,Thread相比Process,效率要更高一点。毕竟Schedule thread比Schedule process,对Scheduler的要求要轻松的多。
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表