易截截图软件、单文件、免安装、纯绿色、仅160KB

Tips: linux进程和线程差异(0)


1 linux进程与线程的联系和区别:
    在linux中,线程按照进程的方式实现。其实现机制与solaris和windows差异很大。
    在现代操作系统中,进程支持多线程,进程是资源管理以及分配的最小单元,线程是程序执行的最小单元。一个进程实体分为:线程集和资源集(包括地址空间、打开的文件以及用户信息等)两部分。线程有其私有数据:PC,栈以及寄存器。
    采用多进程的问题:
1) fork一个子进程的开销较大;
2) 各个进程拥有独立的地址空间,需要复杂的进程间通信(IPC)技术,如消息传递和共享内存。
    而采用线程的优点:
1) 改进程序的实时响应能力、通信方便
2) 更有效的使用多处理器
3) 改进程序结构,多控制流
4) 减少系统资源的使用
   缺点:线程间地址空间共享可能会造成竞争。
2 linux线程的分类
1) 内核线程:linux内核可以看作一个服务进程,内核有多个执行流并行,因此内核线程作为内核的分身,完成可以并行的功能模块。内核线程的调度有内核负责,一个内核线程处于阻塞状态时不影响其他的内核线程。
2) 用户线程:在用户空间中实现,内核不能独立地对用户线程进行调度,而是由一个线程运行库来组织线程的调度。
3 关于内核线程:
使用命令"ps -ef"查看系统当中的进程,其中带有"[]"的都是内核线程。


相关文档:

Linux 的多线程编程的高效开发经验

2009 年 4 月 23 日
本文中我们针对 Linux 上多线程编程的主要特性总结出 5 条经验,用以改善 Linux 多线程编程的习惯和避免其中的开发陷阱。在本文中,我们穿插一些 Windows 的编程用例用以对比 Linux 特性,以加深读者印象。
背景
Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微 ......

linux下的deamon进程

设计一个linux下的deamon进程,关键只有几个:
1.fork两次。
2.fork第一次和第二次之间成为进程组头。
3.改变工作目录。
4.忽略信号。
5.设置读写掩码。
一下是一个从网络搜集到的例程,非常好的演示了上述要点,存此备忘。
#include
#include
#include
#include
void main(int argc, char ** argv)
{
tim ......

linux c 读取文件行数

linux c 读取文件行数参照wc 系统命令编写的函数如下:
#include <fcntl.h>
#include <stdlib.h>
#define MAXBSIZE 65536
u_long file_wc(char *file)
{
register u_char *p;
register short gotsp;
register int ch, len;
register u_long linect, charct;
int fd;
u_char buf[MAXBSIZE];
......

在LINUX上实现 windows 回收站功能的脚本


由于公司里的备份软件是每天晚上执行一次,如果员工当天不小心删除了文件,那只能回复到昨天的状态,如果是员工今天花了一天才写完的CODE,那就没法恢复 了,这样就员工一天的工作就白干了,当然你可能会说,这个员工活该,谁让他不小心了,但是当事情发生了之后,人家就会来找你解决了,虽然 你平常躲在角落里听歌、看电 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号