CEvent eventWriteD.SetEvent();

转载 2012年03月23日 22:32:50
CEvent eventWriteD;
char g_Array[10];

UINT WriteW(LPVOID pParam);
UINT WriteD(LPVOID pParam);

void CMultiThread9Dlg::OnWritew() 
{
	// TODO: Add your control notification handler code here
	CWinThread *pWriteW=AfxBeginThread(WriteW,
		&m_ctrlW,
		THREAD_PRIORITY_NORMAL,
		0,
		CREATE_SUSPENDED);
	pWriteW->ResumeThread();
	
	CWinThread *pWriteD=AfxBeginThread(WriteD,
		&m_ctrlD,
		THREAD_PRIORITY_NORMAL,
		0,
		CREATE_SUSPENDED);
    pWriteD->ResumeThread();	
}
/*
  仔细分析这两个线程函数, 
您就会正确理解CEvent 类。
线程WriteD执行到 WaitForSingleObject(eventWriteD.m_hObject,INFINITE);
处等待,直到事件 eventWriteD为有信号该线程才往下执行,
因为eventWriteD对象是自动事件,
则当WaitForSingleObject()返回时,
系统自动把eventWriteD对象重置为无信号状态。
  */
UINT WriteW(LPVOID pParam)
{
	CEdit *pEdit=(CEdit*)pParam;
	pEdit->SetWindowText("");
	for(int i=0;i<10;i++)
	{
		g_Array[i]='W';
		pEdit->SetWindowText(g_Array);
		Sleep(1000);
	}
	//eventWriteD.SetEvent();
	/*
	BOOL CEvent::SetEvent();
    将 CEvent 类对象的状态设置为有信号状态。
	如果事件是人工事件,则 CEvent 类对象保持为有信号状态,
	直到调用成员函数 ResetEvent()将 其重新设为无信号状态时为止。
	如果CEvent 类对象为自动事件,则在SetEvent()将事件设置为有信号状态后,
	CEvent 类对象由系统自动重置为无信号状态。	  
    如果该函数执行成功,则返回非零值,否则返回零。	
	*/
	return 0;	
}

UINT WriteD(LPVOID pParam)
{
	CEdit *pEdit=(CEdit*)pParam;
	pEdit->SetWindowText("");
	WaitForSingleObject(eventWriteD.m_hObject,INFINITE);
	for(int i=0;i<10;i++)
	{
		g_Array[i]='D';
		pEdit->SetWindowText(g_Array);
		Sleep(1000);
	}
	return 0;	
}

void CMultiThread9Dlg::OnBtnSetevent() 
{
eventWriteD.SetEvent();	
}

相关文章推荐

CEvent eventWriteD.SetEvent();

CEvent eventWriteD; char g_Array[10]; UINT WriteW(LPVOID pParam); UINT WriteD(LPVOID pParam); void...

SetEvent and ResetEvent manual

  • 2008-05-14 22:16
  • 73KB
  • 下载

如何使用CEvent类的资源

  • 2010-07-02 09:09
  • 49KB
  • 下载

事件CEvent的使用

CEvent类的一个对象,表示一个“事件”——一个允许一个事件发生时线程通知另一个线程的同步对象。在一个线程需要了解何时执行任务时,事件是十分有用的。例如,拷贝数据到数据文档时,线程应被通知何时数据是...

SetEvent and ResetEvent manual

  • 2008-05-14 22:15
  • 73KB
  • 下载

VC CEvent实现通讯

  • 2010-09-12 12:53
  • 51KB
  • 下载

【转】CSemaphore/CMutex/CCriticalSection/CEvent之间有什么区别

本文原址:http://www.cppblog.com/dragon/archive/2008/09/02/60733.aspx作者:DragonCSemaphore/CMutex/CCritical...

CEvent类用法

CEvent 类提供了对事件的支持。事件是一个允许一个线程在某种情况发生时,唤醒另外一个线程的同步对象。事件告诉线程何时去执行某一给定的任务,从而使多个线程流平滑。例如在某些网络应用程序中,一个线程(...

Cevent类详解及使用技巧

  • 2008-10-16 10:42
  • 28KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)