多线程
聪明的狐狸
北漂8年,来自河北,仍在一线编程。喜欢Coding,享受编程的乐趣,擅长C/C,Python,对Linux系统开发,网络编程,服务器开发有浓厚的兴趣
展开
-
多线程经典问题-----乘客做公交车问题解答2
问题描述:乘客乘坐公交车问题,司机,乘客,售票员协同工作,通过多线程模拟三者的工作。司机:开车,停车售票员:打开车门,关闭车门乘客:上车,下车解答:通过使用CEvent 事件类,模拟三者协同工作。在解答1(点击打开链接),没有考虑乘客下车的情况,解答2考虑了乘客下车的情况。代码如下:主类和主线程如下:#pragma once#include "afxmt.h"原创 2013-12-01 19:30:34 · 2240 阅读 · 3 评论 -
多线程经典问题-----乘客做公交车问题解答1
1.问题描述://车辆行驶问题,司机,乘客售票员协同工作//司机:开车,停车//售票员:打开车门,关闭车门//乘客:上车,下车解答1:通过使用CEvent 事件类,模拟三者协同工作。下面的程序只模拟了乘客上车的情况。没有考虑乘客下车。主程序如下:#define PASSENGERCOUNT 20class CPassengerBusQuestion{p原创 2013-12-01 18:47:09 · 2258 阅读 · 0 评论 -
多线程经典问题----考试问题
1.问题描述:1个主考官,n个学生考官和学生陆续进入教室(没有先后之分)。等待所有学生进入教室后,考官开始发考卷考官把考卷发给所有学生后,学生才开始答题,学生可以提前交卷,交完卷后即可离开教室。老师等所有学生交完卷后才能离开教室。2.问题解答:本题和乘客乘公交车问题类似,主要考察多线程的同步和互斥。主类和主线程如下:#include "afxmt.h"#de原创 2013-12-01 22:56:28 · 1249 阅读 · 0 评论 -
多线程编程的几个经典问题
在最近的面试时,考察多线程编程时,除了经典的生产者-消费者,图书馆借书等问题,还遇到了以下几个考察多线程编程的经典问题,希望有时间能用C++/Python代码实现. 理发师问题:一个理发店由一个有几张椅子的等待室和一个放有一张理发椅的理发室组成。1.若没有要理发的顾客,则理发师去睡觉;2.若一顾客进入理发店,理发师正在为别人理发,且等待室有空椅子,则该顾客就找张椅子按顺序坐下;原创 2013-11-19 18:56:06 · 2307 阅读 · 0 评论 -
python 多线程学习一
python线程使用有两种方法:1.直接调用threading.Thread来构造thread对象,Thread的参数如下: class threading.Thread(group=None target=None name=None args=() kwargs={}) group为None; target为线程将要执行的功能函原创 2013-12-08 22:21:29 · 1211 阅读 · 0 评论 -
多线程经典问题-----乘客做公交车问题解答3
问题描述:乘客乘坐公交车问题,司机,乘客,售票员协同工作,通过多线程模拟三者的工作。司机:开车,停车售票员:打开车门,关闭车门乘客:上车,下车用Python的Event做线程同步通信,代码如下:# *-* coding:gb2312 *-*import threadingimport timestationName=("车站0","车站1","车站2",原创 2013-12-15 20:34:18 · 2415 阅读 · 0 评论 -
一个简单的读写锁(Windows 平台)
看过网上一些读写锁的实现,感觉实现都比较麻烦,我想想这个应该不是特别麻烦的事,主要就是考虑如何实现写加锁,于是就动手写了一个,没有使用事件等内核级的对象,只使用了临界区和InterLock函数。目的很简单,就是读操作尽快释放对读锁的占用。下面是代码实现:#include class CReadWriteLock{public: CReadWriteLock(void);原创 2014-01-12 21:34:43 · 1057 阅读 · 0 评论 -
一个简单的进程间mutex和读写锁类
因为最近一直在做程序使用共享内存的改造,自然也就涉及到进程间同步的问题,以下是一个简单的进程间锁的例子,通过在父进程声明,然后在fork出来的子进程变可以使用这个锁的对象来进程数据访问的互斥控制。#ifndef _SHARE_LOCK_H_#define _SHARE_LOCK_H_//进程间mutex,在父进程定义,fork之后加锁解锁对父子进程间有效class ShareMutex转载 2017-11-05 17:54:09 · 1068 阅读 · 1 评论