多线程常见面试题目 - 写给HHM
2014-11-02 16:53
295 查看
多线程是基本的面试内容,面过很多人,也被面过。常见的基础包括:
1. 进程间通信(IPC)的各种方式、应用场合 - 信号量、事件、共享内存、管道 。。。
2. Mutex 和 critical section的区别 - 一个内核态对象,一个用户态对象,所以代价也有差别;一个可以夸进程使用,一个不可以。拥有者都可以再进入,必须成对的获取释放。
3. 死锁,如何避免死锁 - 比较官方的说法是按顺序获取资源。
4. 活锁 - 活着,但一直得不到资源。
5. CreateThread 和 _beginthead,_beginthreadex等的区别。这个没啥意思,需要对CRL有些了解,MT,MD。
6. 线程本地存储(TLS) - 个人觉得知道这么个东西就行,用的时候再查。
7. Singleton模式,这个是最基本必须随手能写出来的设计模式。在多线程里怎么写 - 两次加锁检测,网上随便搜搜,很多。
8. 用critical section或者mutex等实现读写锁。如果事先不知道,临时想的话写出bug free的稍微有点难度。
1. 进程间通信(IPC)的各种方式、应用场合 - 信号量、事件、共享内存、管道 。。。
2. Mutex 和 critical section的区别 - 一个内核态对象,一个用户态对象,所以代价也有差别;一个可以夸进程使用,一个不可以。拥有者都可以再进入,必须成对的获取释放。
3. 死锁,如何避免死锁 - 比较官方的说法是按顺序获取资源。
4. 活锁 - 活着,但一直得不到资源。
5. CreateThread 和 _beginthead,_beginthreadex等的区别。这个没啥意思,需要对CRL有些了解,MT,MD。
6. 线程本地存储(TLS) - 个人觉得知道这么个东西就行,用的时候再查。
7. Singleton模式,这个是最基本必须随手能写出来的设计模式。在多线程里怎么写 - 两次加锁检测,网上随便搜搜,很多。
8. 用critical section或者mutex等实现读写锁。如果事先不知道,临时想的话写出bug free的稍微有点难度。
相关文章推荐
- 【面试常见题目之后台知识】Linux多线程与多进程区别全方位解读+程序实例
- 【面试常见题目之后台知识】Linux多线程与多进程区别全方位解读+程序实例
- 常见的abap面试题目,请大家对照学习
- 常见的abap面试题目,请大家对照学习
- 常见的面试题目概念
- SQL常见面试题目
- 常见的abap面试题目,请大家对照学习
- 常见笔试/面试题目(zz)
- 常见的abap面试题目,请大家对照学习
- Java面试常见题目
- 常见的abap面试题目
- PHP常见面试题目深入解答分析(二)
- 常见的abap面试题目,请大家对照学习
- 常见面试题目2
- 常见面试题目1
- 常见的abap面试题目
- 常见的abap面试题目,请大家对照学习
- 常见的abap面试题目
- 常见面试题目4
- 常见的abap面试题目