MCI 多线程

MCI
MCI 媒体控制接口
MCI 命令字符串   mciSendString();


open close
play stop
record save
pause resume
seek capacity
info status


创建线程
AfxBeginThread()
线程函数
typedef UINT (AFX_CDECL AFX_THREADPROC)(LPVOID)


线程同步的方法:
1、临界区  ->  CCriticalSection  (应用程序对象)
 CCriticalSection *cs;
 cs = new CCriticalSection();
 cs->lock();
 保护代码
 cs->unlock();


2、互斥量  ->  CMutex   (windows内核对象)


 CMutex *mutex;   //创建互斥量对象
 mutex = new CMutex();
 CSingleLock singleLock(mutex);   //创建锁
 singleLock.Lock();    //加锁
 if(singleLock.IsLocked())   //如果加锁成功则执行被保护的代码
 {
   被保护代码                               
  }
 singleLock.Unlock();              //解锁


3、信号量  ->  CSemaphore    (windows内核对象)


 CSemaphore *sp;   //创建互斥量对象
 sp = new CSemaphore(1, 1);
 CSingleLock singleLock(mutex);   //创建锁
 singleLock.Lock();    //加锁
 if(singleLock.IsLocked())   //如果加锁成功则执行被保护的代码
 {
   被保护代码                               
  }
 singleLock.Unlock();              //解锁


4、事件    ->  CEvent         (windows内核对象)


 CEvent *event;
 event = new CEvent(TRUE);
 CSingleLock singleLock(mutex);   //创建锁
 singleLock.Lock();    //加锁
 if(singleLock.IsLocked())   //如果加锁成功则执行被保护的代码
 {
   被保护代码                               
  }
 singleLock.Unlock();              //解锁
 event->SetEvent();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值