linux操作系统理解-线程与进程

结合自己的项目(一个SDK代表一个进程,在SDK中存在着多个线程,比如中断处理、NPM CLI采样线程等等)

1.进程

linux用进程调度器来觉得将时间片分配给哪一个进程

进程的优先级可以通过nice值区分:nice/renice命令可以修改nice值(值越小,优先级越高)

2.父进程中调用wait/waitpid函数等待子进程的结束

子进程结束时,与父进程的联系还在,知道父进程终止或者调用wait才结束;所以,如果父进程在子进程前先终止,子进程会变为僵尸进程(需要避免僵尸进程的出现)

3.信号(用于进程之间发送消息的简单方式)

信号是由于某些错误事件而产生的。信号对应的操作有:生产、捕获、响应、忽略

如果进程收到一个信号,但是事先没有安排捕捉动作,进程会立刻终止(shell可以Ctrl+C或者kill命令的原理就是这个)


4.linux线程

4.1线程查看

在ps命令中,“-T”选项可以开启线程查看。下面的命令列出了由进程号为<pid>的进程创建的所有线程


“SID”栏表示线程ID,而“CMD”栏则显示了线程名称

4.2线程函数

pthread_create用来创建一个线程

pthread_join用来等待一个线程的结束

pthread_exit终止调用它的线程并返回一个指向某个对象的指针

设置线程属性

pthread_attr_init和pthread_attr_destory

取消一个线程:pthread_cancel

4.3线程同步

信号量sem 英[ˈseməfɔ:(r)]

互斥量mutex 英[m'ju:teks]















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值