Linux C编程第十四章多线程编程十个问题及解答
来源:互联网 发布:淘宝买射钉枪警察找我 编辑:程序博客网 时间:2024/06/06 04:17
Linux C编程第十四章多线程编程十个问题及解答
1.一个线程包括哪些内容?
一个指向当前被执行指令的指令指针;
一个栈;
一个寄存器值的集合,定义了一部分描述正在执行线程的处理器状态的值;
一个私有的数据区。
2.为什么走了进程以后,还需要线程呢?
在许多应用中会同时发生多种活动,某些活动会随着时间推移被阻塞,通过将这些应用程序分解为可以准并行运行的多个顺序进程,程序设计模型会变得简单起来;
由于线程比进程更轻量级,所以它们更容易更快创建和撤销;
在一些需要大量I/O处理和大量计算的情况下,拥有多线程允许这些活动彼此重叠进行。
3.多线程有什么优点?
多线程技术使得响应速度更快,因为用户界面可以在进行其他工作的同时一直处于活动状态;
当前没有进行处理的任务时可以将处理器时间让给其他任务;
占用大量处理时间的任务可以定期将处理器时间让给其他任务;
可以随时停止任务;
可以分别设置各个任务的优先级以及优化性能。
4.什么情况下适合采用多线程处理?
耗时或大量占用处理器的任务阻塞用户界面操作。
各个任务必须等待外部资源。
5.多线程基本概念有哪些?
线程,互斥锁,条件
线程: 创建,退出,操作;
互斥锁: 创建,销毁,加锁和解锁;
条件操作: 创建,销毁,触发,广播,等待。
6.线程退出的方式有哪些?
线程从执行函数返回,返回值是线程的退出码;
线程被同一进程的其他线程取消;
调用pthread_exit()函数退出。
7.怎样指定线程属性?
只需要创建并且填充一个pthread_attr_t类型的线程属性对象ATTR,并将其作为第二个参数传递给pthread_create就可以指定新创建线程的属性。
8.调度策略函数具有哪些参数?
第一个参数是指向属性对象的指针,第2个参数是调度策略或指向调度策略的指针。
9.互斥锁有哪些类型?
快速型;
递归型: 同一线程循环给互斥量上锁,系统将会知道该上锁行为来自同一线程,那么就会同意线程给该互斥量上锁;
- Linux C编程第十四章多线程编程十个问题及解答
- Linux C第十二章进程控制编程十个问题及解答
- Linux C 编程第13章进程间通信方式 十个问题及解答(1)
- Linux C编程 第13章进程间通信方式十个问题及解答(2)
- Linux C 第十五章通信网络编程十个问题及解答(1)
- Linux C 第十五章网络编程十个问题及解答(2)
- Linux C 第十一章文件操作十个问题及解答
- 第十四章 多线程编程
- 第十四章 多线程编程总结
- 第四章语句十个问题及解答
- 第八章函数十个问题及解答
- java编程思想读书笔记-第十四章 多线程
- Linux C多线程编程注意事项及数据处理
- [Linux C编程]多线程编程
- linux c 多线程编程
- Linux C多线程编程
- Linux C 多线程编程
- linux-C编程-多线程
- PHP 引用在线编辑器,kindeditor
- apt() 问题
- 习题8
- 深度学习中的「卷积层」如何深入理解?
- 那么多GAN哪个好?谷歌大脑泼来冷水:都和原版差不多 | 论文
- Linux C编程第十四章多线程编程十个问题及解答
- 几个Proteus的仿真网站
- Ajax框架之DWR学习(简单入门案例)-yellowcong
- tomcat服务HTTPS双向认证
- iPhont X适配
- Spark集群搭建
- C++自动类型转换
- 指针数组
- Quartz封装