2014-03-05 33 views
-1

有一個mfc遠程桌面應用程序,結構寫在代理服務器上。多線程結構使用mfc

如何將此結構轉換爲多線程?

struct sAccept 
{ 
    CTCPSocket * m_pAccept; 
    CString m_csAlias; 
    CString m_csIp; 
    BOOL m_bRDV; 
    bool operator < (const sAccept & rhs) const {return *m_pAccept < *(rhs.m_pAccept);} 
    std::set<CString> m_Viewers; 

}; 
+2

結構不能是多線程的,但程序可以。你需要提供關於你的程序的更多細節,你在做什麼以及你想要完成什麼,以及爲什麼你認爲多線程可能是好的。 –

+0

感謝您的答覆,我不能把結構指針放在線程中嗎?我的應用程序桌面代理服務器是單線程我想使它multithreaded.when交通更多在併發數據傳輸應用程序將不響應state.to避免exe掛想要使它multithreaded.if我把這個結構指針在線程中它將有所幫助,而不是套接字類 – user3347271

+0

多線程需要在輔助線程中執行功能。數據和指針不會使任何多線程。 –

回答

0

如果您使用MFC套接字類,本文將展示如何使用分離和附加成員函數將套接字轉移到另一個線程。

http://support.microsoft.com/kb/140527

+0

謝謝,但我想把以上方法在multithread.code是shared.i嘗試,但它不按預期工作。 – user3347271