线程

1线程和进程的区别

进程拥有PCB,独享地址空间;线程也拥有PCB但共享内存空间。

2.线程共享的资源

1)线程共享文件描述符

2)线程共享信号的处理方式

3)线程共享内存地址空间

4)线程共享用户id和2)组id

3.线程独享资源

1)线程独享信号屏蔽字

2)线程独享线程id

3)线程独享栈空间

4)调度优先级

5)线程独享errno变量

4.线程的优缺点

1)优点:提升了程序的并发行;线程的开销小;数据通信和共享数据方便

2)缺点:库函数相对于系统调用不稳定,不支持gdb调试;对信号的支持不好

5.线程进程与共享

线程共享数据段、代码段等内存地址空间,常用的是全局变量;而进程不能共享全局变量,必须通过mmap产生映射区才行。

6.只终止线程而不终止进程的三种方法

1)从线程主控函数中return

2)一个线程可以调用pthread_cancel()来终止同一进程中的另一个线程

3)线程可以调用pthread_exit()来终止自己

7.避免产生僵尸线程的方法

1)调用线程函数pthread_join()

2)调用线程函数pthread_detach(),实现线程分离

3)在创建线程之前,设置线程分离属性

8.进程状态分为:就绪,运行,挂起,停止

9.父进程调用wait()有三个功用:

1)阻塞等待子进程结束

2)回收子进程残留资源

3)获取子进程结束状态

原文地址:https://www.cnblogs.com/jefy/p/9733838.html