多线程编程的几个经典问题
来源:互联网 发布:软件ac控制器 编辑:程序博客网 时间:2024/05/22 08:26
在最近的面试时,考察多线程编程时,除了经典的生产者-消费者,图书馆借书等问题,还遇到了以下几个考察多线程编程的经典问题,希望有时间能用C++/Python代码实现.
理发师问题:
一个理发店由一个有几张椅子的等待室和一个放有一张理发椅的理发室组成。
1.若没有要理发的顾客,则理发师去睡觉;
2.若一顾客进入理发店,理发师正在为别人理发,且等待室有空椅子,则该顾客就找张椅子按顺序坐下;
3.若一顾客进入理发店,理发师在睡觉,则叫醒理发师为该顾客理发;
4.若一顾客进入理发店且所有椅子都被占用了,则该顾客就离开。
乘客做公交车问题
司机:开车,停车
售票员:开门,关门
乘客:上车,下车
司机到站停车,然后售票员打开车门,乘客上下车,售票员关门。然后司机继续开车。请使用多线程实现三种的同步和互斥,模拟现实世界乘客乘坐公交车的过程。
考试问题
1个主考官,n个学生
考官和学生陆续进入教室(没有先后之分)。等待所有学生进入教室后,考官开始发考卷
考官把考卷发给所有学生后,学生才开始答题,学生可以提前交卷,交完卷后即可离开教室。
老师等所有学生交完卷后才能离开教室。
考试问题2
1个主考官,n个学生(带有时间戳)
考官和学生陆续进入教室(没有先后之分)。考试时间到后,不允许有学生再进入教室,假设考官不会迟到。
考官开始发考卷,考官把考卷发给所有学生后,答题时间开始后,才允许学生答题,学生可以提前交卷,交完卷后即可离开教室。
考试结束时间到后,老师收取所有考卷,然后离开教室。
- 多线程编程的几个经典问题
- 几个经典的编程题
- 几个经典的面试问题
- 多线程的几个简单问题
- 使用多线程编程的几个常见问题
- 使用多线程编程的几个常见问题
- c++ 多线程编程常用的几个函数
- c++ 多线程编程常用的几个函数
- ios多线程编程的几个链接
- 人生里面的几个经典问题
- 软件测试的几个经典问题
- 关于问题定位的几个经典定律
- 链表的几个经典问题
- 有关图的几个经典问题
- 有关树的几个经典问题
- iOS : Zbar几个经典问题的解决办法
- 【Day5】几个经典PHP的注意问题
- 并发编程:几个关键概念和三个经典问题
- ltrim用法(通俗易懂版)
- elasticsearch实战-使用G1垃圾回收
- 银行系统(初级版)
- UML学习站点
- uC/OS-II内核超时等待机制的分析
- 多线程编程的几个经典问题
- uva 10020 Minimal coverage
- Linux进程间的通信方式
- PHP函数参数之引用传递
- SQL注入攻击
- java中的Exception RuntimeException区别
- {python多进程}
- uCOS II在ARM处理器上移植过程中的中断处理
- 第12周项目6-太乐了多文件版(修正)