摘要: 转载自:http://www.cppblog.com/Lee7/archive/2008/08/15/58952.html一、问题的提出编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下:voidCSingleThreadDlg::OnSleepSixSecond(){ Sleep(6000);//延时6秒}编译并运行应用程序,单击“延时6秒”按钮,你就会发现在这6秒期间程序就象“死机”一样,不在. 阅读全文
posted @ 2012-07-09 19:59 呆呆瓜 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 转载自:http://dev.yesky.com/385/2625885.shtml线程同步是多线程程序设计的核心内容,它的目的是正确处理多线程并发时的各种问题,例如线程的等待、多个线程访问同一数据时的互斥,防死锁等。Win32提供多种内核对象和手段用于线程同步,如互斥量、信号量、事件、临界区等。所不同的是,互斥量、信号量、事件都是Windows的内核对象,当程序对这些对象进行控制时会自动转换到核心态,而临界区本身不是内核对象,它是工作在用户态的。我们知道从用户态转换到核心态是需要以时间为代价的,所以如果能在用户态就简单解决的问题,就可以不必劳烦核心态了。 这里我要说的是两种用于C++的多线. 阅读全文
posted @ 2012-07-09 19:55 呆呆瓜 阅读(187) 评论(0) 推荐(0) 编辑