去买本《windows核心编程》仔细看一遍
解决方案 »
- delphi EXCEL 求高手幫忙
- dxDockPanel自动隐藏问题
- 怎么样才能实现vs.net的效果
- 怎样把ini里的字段打印出来?
- 是不是正版的delphi7带有中文help---------------醒目
- 关于采用Microsoft DNA 模式设计的三层结构数据传输问题
- 求教关于ReportBuilder的问题~~~~~~~
- 求救,在Delphi中使用RegOpenKeyEx函数打开注册表???
- 请问大家有没有遇到使用settimer killtimer过多造成死机的情况???
- 谁知道adoquery1组件的缓存更新怎么使用啊?能否给个简单的例子?(在线等待)
- dbgrideh怎么按条件设置某一个单元格的颜色
- delphi中delphi中Left side cannot be assigned to
分别从1跑到100,现在有个要求,由于A比较慢,当线程B跑到50的时候,就要等A也跑到50,然后继续跑B跑到50的时候,执行WaitForSingleObject,没信号就睡觉
当A跑到50的时候,执行SetEvent,设置有信号,然后A就不管了继续执行,这时,线程B被唤醒,B也继续执行后面的代码CreateEvent来建立信号对象,当然WaitForSingleObject还可以对hThread,hProcess执行等待
// 创建一个互斥体时,第二个参数设为false,此时没有任何一个线程拥有该互斥体对象,
// 这时这个互斥体对象就被操作系统标记为有信号状态
hMutex:= CreateMutex(nil, false, nil);// 在一个线程函数中
begin
// 这时由于这个互斥对象不属于任何一个线程,即有信号状态,
// 操作系统就把当前线程的id指派给该互斥对象的线程id ,并把该互斥对象标记为无信号状态
WaitForSingleObject(hMutex,INFINITE);
// do something...