您现在的位置是:首页 >要闻 > 2023-08-20 21:42:15 来源:

vc多线程完整运行再回主线程(vc多线程)

导读 大家好,我是小华,我来为大家解答以上问题。vc多线程完整运行再回主线程,vc多线程很多人还不知道,现在让我们一起来看看吧!1、在VC中可...

大家好,我是小华,我来为大家解答以上问题。vc多线程完整运行再回主线程,vc多线程很多人还不知道,现在让我们一起来看看吧!

1、在VC中可以调用MFC函数AfxBeginThread,创建线程。

2、线程做什么,怎么做就得看你自己的设计了。

3、贴一段MSDN里的代码:Visual C++ Copy Code class CSockThread : public CWinThread{public: SOCKET m_hConnected;protected: CChatSocket m_sConnected; // remainder of class declaration omitted. Visual C++ Copy Code BOOL CSockThread::InitInstance(){ // Attach the socket object to the socket handle // in the context of this thread. m_sConnected.Attach(m_hConnected); m_hConnected = NULL; return TRUE;} Visual C++ Copy Code // This listening socket has been constructed// in the primary thread.void CListeningSocket::OnAccept(int nErrorCode){ UNREFERENCED_PARAMETER(nErrorCode); // This CSocket object is used just temporarily // to accept the incoming connection. CSocket sConnected; Accept(sConnected); // Start the other thread. CSockThread* pSockThread = (CSockThread*)AfxBeginThread( RUNTIME_CLASS(CSockThread), THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED); if (NULL != pSockThread) { // Detach the newly accepted socket and save // the SOCKET handle in our new thread object. // After detaching it, it should no longer be // used in the context of this thread. pSockThread->m_hConnected = sConnected.Detach(); pSockThread->ResumeThread(); }}。

本文到此讲解完毕了,希望对大家有帮助。