Linux期末复习第九章

填空题

1、一个线程的实体包括(程序)(数据)(TCB)以及少量必不可少的用于保证线程运行的(栈空间)的资源。当然,线程中也包含一部分私有数据,如程序计数器、(栈空间)(寄存器)等
2、pthread库不是Linux系统默认的库,因此在使用pthread_create()函数创建线程时应链接静态库libpthread.a.若当前有一个包含了pthread库且文件名为pthred_cre.c的库,使用GCC将其编译并将可执行文件命名为(gcc pthread cre.c -o pthread cre -lpthread)
3、线程中用于退出单个线程的函数为(pthread_exit())
4、Linux系统中用于实现线程的方法有三种,分别为(互斥锁、条件变量、信号量)
5、使用互斥锁实现线程同步时,可以保证线程的原子性、唯一性和非繁忙等待。

判断题

1、线程是最小的资源分配单位(错)
线程是最小的调度单位,进程是最小的资源分配单位
2、多个线程的虚拟地址会被映射到物理磁盘的同一段地址空间(错)
存在于同一进程中的多个线程的虚拟地址会被映射到物理磁盘上的同一段地址空间
3、父子进程中的全局变量是不共享的,但父子线程中的全局变量是共享的(对)
进程机制中采用”读时共享,写时复制“原则,若父进程中的全局数据被修改,其它有亲缘关系的进程中全局数据值并不会随之改变,而父子进程共享地址空间。
4、在线程中可以通过pthread——exit()、exit()函数以及return关键字退出线程,但这三种方式对其他线程的影响不同。若存在于同一进程空间中的线程调用了exit()函数,那这个进程空间中的所有线程都会退出。(对)
5、若不要求线程的执行顺序且新线程已被设置为分离态,则同一进程空间中的主线程可以不等待其他线程,在任务完成后直接return退出。(错)
线程与进程不同,若作为程序入口的主线程main通过return退出,系统内部会调用exit()函数,而exit()函数会让所有线程退出,因此其他线程的任务将无法执行。

单选题

1、pthread_death()函数用于将线程从主控线程中分离,处于分离态的线程可自主回收线程资源
pthread_join()函数用于挂起等待指定线程,回收线程资源;
exit()函数用于退出一个线程
pthread_exit()函数用于退出一个线程
在线程中调用pthread_cancel()函数终止线程时,线程会在出现取消点时才被终止
2、多线成出现”与时间有关的错误“的原因有三个:资源共享;调度随机;线程间缺乏必要的同步机制
3、互斥锁可以保证3点:原子性、唯一性和非繁忙等待
4、条件变量常常与互斥锁搭配使用,但为共享资源枷锁不是条件变量的使用补助,条件变量的使用分为四个不住:初始化条件变量,等待条件变量满足、唤醒阻塞进程、释放条件变量
5、取消点通常伴随阻塞出现,可粗略地认为只要在系统调用发生,就会进入取消点,write(),pause()都是系统调用,因此会产生取消点。也可以调用pthread_testcancel()尝试终止线程,创建取消点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向上Claire

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值