ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡ÔĶÁ¹ý³Ì·¢ÏÖÈκδíÎóÇë¸æËßÎÒÃÇ£¬Ð»Ð»£¡£¡ ±¨¸æ´íÎó
¹·¹·Êé¼® ·µ»Ø±¾ÊéĿ¼ ÎÒµÄÊé¼Ü ÎÒµÄÊéÇ© TXTÈ«±¾ÏÂÔØ ½øÈëÊé°É ¼ÓÈëÊéÇ©

ÉîÈëdz³öMFCµÚ2°æ(PDF¸ñʽ)-µÚ253ÕÂ

°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡






¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¼äµÄÓÅÁÓÒòËØÎÒÒ²ÒѾ­ÔڸýÚÌÖÂÛ¹ý¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ö´ÐÐÏ̺߳¯ÊýµÄÀàÐÍAFX_THREADPROC¡¡¡¡¶¨ÒåÓÚAFXWIN¡£H¡¡Ö®ÖУº¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡in¡¡AFXWIN¡£H¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡typedef¡¡UINT¡¡£¨AFX_CDECL¡¡*AFX_THREADPROC£©£¨LPVOID£©£»¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ËùÒÔÄãÓ¦¸Ã°Ñ±¾ÉíµÄÖ´ÐÐÏ̺߳¯ÊýÉùÃ÷ÈçÏ£¨ÆäÖеÄpParam¡¡¡¡ÊǸöÖ¸Õ룬ÔÚʵÓÃÉÏ¿ÉÒÔÖ¸¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ïò³ÌÐòÔ±×Ô¶¨µÄÊý¾Ý½á¹¹£©£º¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡UINT¡¡ThreadFunc¡¡£¨LPVOID¡¡pParam£©£»¡¡



760¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡823¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡14¡¡¡¡¡¡¡¡¡¡¡¡MFC¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ¡¡Õ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¶à¾w³ÌʽÔOÓ‹¡¡



¡¡¡¡¡¡¡¡¡¡·ñÔò£¬±àÒëʱ»á»ñµÃÕâÑùµÄ´íÎóÏûÏ¢£º¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡error¡¡C2665£º¡¡'AfxBeginThread'¡¡£º¡¡none¡¡of¡¡the¡¡2¡¡overloads¡¡can¡¡convert¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡parameter¡¡1¡¡from¡¡type¡¡'void¡¡£¨unsigned¡¡long¡¡*£©'¡¡



¡¡¡¡¡¡¡¡¡¡¡¡ÓÐʱºòÎÒÃÇ»áÈò»Í¬µÄÖ´ÐÐÏß³ÌʹÓÃÏàͬµÄÖ´ÐÐÏ̺߳¯Êý£¬ÕâʱºòÄã¾ÍµÃÌرð×¢Òâµ½Ö´ÐÐÏ̡߳¡



¡¡¡¡¡¡¡¡¡¡¡¡º¯ÊýʹÓÃÈ«Óò±äÁ¿»ò¾²Ì¬±äÁ¿Ê±£¬Êý¾Ý¹²ÏíËùÒý·¢µÄÑÏÖØÐÔ£¨ÓкÃÓлµ£©¡£ÖÁÓÚ·ÅÖÃÔÚ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¶ÑÕ»ÖеıäÁ¿»ò¶ÔÏ󣬶¼²»»áÓÐÎÊÌ⣬ÒòΪÿһ¸öÖ´ÐÐÏß³Ì×ÔÓÐÒ»¸ö¶ÑÕ»¡£¡¡



²úÉúÒ»¸öUI¡¡Thread¡¡



¡¡¡¡¡¡¡¡¡¡¡¡UI¡¡thread¡¡¿É²»Äܹ»¹âÓÉÒ»¸öÖ´ÐÐÏ̺߳¯ÊýÀ´´ú±í£¬ÒòΪËüÒª´¦ÀíÏûÏ¢£¬ËüÐèÒªÒ»¸öÏûÏ¢»Ø¡¡



¡¡¡¡¡¡¡¡¡¡¡¡Â·¡£ºÃµÃºÜ£¬CWinThread£º£ºRun¡¡ÀïÍ·¾ÍÓÐÒ»¸öÏûϢѭ»·¡£ËùÒÔ£¬ÎÒÃÇÓ¦¸ÃÏÈ´ÓCWinThread¡¡



¡¡¡¡¡¡¡¡¡¡¡¡ÑÜÉúÒ»¸ö×Ô¼ºµÄÀà±ð£¬ÔÙµ÷ÓÃAfxBeginThread¡¡¡¡²úÉúÒ»¸öCWinThread¡¡¶ÔÏ󣺡¡



¡¡¡¡¡¡¡¡¡¡¡¡class¡¡CMyThread¡¡£º¡¡public¡¡CWinThread¡¡

¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DECLARE_DYNCREATE£¨CMyThread£©¡¡



¡¡¡¡¡¡¡¡¡¡¡¡public£º¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡void¡¡BOOL¡¡InitInstance£¨£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡£ý£»¡¡



¡¡¡¡¡¡¡¡¡¡¡¡IMPLEMENT_DYNCREATE£¨CMyThread£»¡¡CWinThread£©¡¡



¡¡¡¡¡¡¡¡¡¡¡¡BOOL¡¡CMyThread£º£ºInitInstance£¨£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡£¡£¡£¡¡

¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡



¡¡¡¡¡¡¡¡¡¡¡¡CWinThread¡¡*pThread¡¡=¡¡AfxBeginThread£¨RUNTIME_CLASS£¨CMyThread£©£©£»¡¡



¡¡¡¡¡¡¡¡¡¡¡¡ÎÒÏëÄã¶ÔRUNTIME_CLASS¡¡ºêÒѾ­²»Ä°ÉúÁË£¬µÚ£³Õº͵ڣ¸Õ¶¼ÓÐÕâ¸öºêµÄÔ´´úÂë¡¡



¡¡¡¡¡¡¡¡¡¡¡¡Õ¹ÏÖÒÔ¼°ÒâÒå½âÊÍ¡£AfxBeginThread¡¡¡¡ÊÇÉÏһС½ÚͬÃûº¯ÊýµÄÒ»¸öoverloaded¡¡º¯Êý£¬Ò»¹²¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¿ÉÒÔ½ÓÊÜÎå¸ö²ÎÊý£¬·Ö±ðÊÇ£º¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡761¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡824¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚƪ¡¡¡¡¡¡¡¡ÉîÈë¡¡¡¡MFC¡¡¡¡³ÌʽÔOÓ‹¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CWinThread*¡¡AFXAPI¡¡AfxBeginThread£¨CRuntimeClass*¡¡pThreadClass£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡nPriority¡¡=¡¡THREAD_PRIORITY_NORMAL£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡UINT¡¡nStackSize¡¡=¡¡0£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DWORD¡¡dwCreateFlags¡¡=¡¡0£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LPSECURITY_ATTRIBUTES¡¡lpSecurityAttrs¡¡=¡¡NULL£©£»¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡×îºóËĸö²ÎÊýµÄÒâÒåºÍĬÈÏÖµ±ÈÉÏÒ»½ÚͬÃûº¯ÊýÏàͬ£¬µ«ÊÇÉÙ½ÓÊÜÒ»¸öLPVOID¡¡pParam¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡²ÎÊý¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Äã¿ÉÒÔÔÚAFXWIN¡£H¡¡¡¡ÖÐÕÒµ½CWinThread¡¡µÄ¶¨Ò壺¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡class¡¡CWinThread¡¡£º¡¡public¡¡CCmdTarget¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DECLARE_DYNAMIC£¨CWinThread£©¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡BOOL¡¡CreateThread£¨DWORD¡¡dwCreateFlags¡¡=¡¡0£»¡¡UINT¡¡nStackSize¡¡=¡¡0£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LPSECURITY_ATTRIBUTES¡¡lpSecurityAttrs¡¡=¡¡NULL£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¡£¡£¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡GetThreadPriority£¨£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡BOOL¡¡SetThreadPriority£¨int¡¡nPriority£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DWORD¡¡SuspendThread£¨£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DWORD¡¡ResumeThread£¨£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡BOOL¡¡PostThreadMessage£¨UINT¡¡message£»¡¡WPARAM¡¡wParam£»¡¡LPARAM¡¡lParam£©£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¡£¡£¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý£»¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÆäÖÐÓÐÐí¶à³ÉÔ±º¯ÊýºÍͼ14¡­4¡¡ÖеÄWin32¡¡API¡¡¡¡º¯ÊýÓйء£ÔÚCWinThread¡¡µÄ³ÉÔ±º¯Êý¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÖУ¬ÓÐÎå¸öº¯ÊýÖ»ÊǷdz£µ¥´¿µÄWin32¡¡API¡¡¡¡µÄ°ü×°¶øÒÑ£¬ËüÃDZ»¶¨ÒåÓÚAFXWIN2¡£INL¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÎļþÖУº¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡in¡¡AFXWIN2¡£INL¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡CWinThread¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_AFXWIN_INLINE¡¡BOOL¡¡CWinThread£º£ºSetThreadPriority¡¡£¨int¡¡nPriority£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡ASSERT£¨m_hThread¡¡£¡=¡¡NULL£©£»¡¡return¡¡¡¡£º£ºSetThreadPriority£¨m_hThread£»¡¡nPriority£©£»¡¡£ý¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_AFXWIN_INLINE¡¡int¡¡CWinThread£º£ºGetThreadPriority¡¡£¨£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡ASSERT£¨m_hThread¡¡£¡=¡¡NULL£©£»¡¡return¡¡£º£ºGetThreadPriority¡¡£¨m_hThread£©£»¡¡£ý¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CWinThread¡¡¡¡ResumeThread¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_AFXWIN_INLINE¡¡DWORD¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£º£º¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡ASSERT£¨m_hThread¡¡£¡=¡¡NULL£©£»¡¡return¡¡£º£ºResumeThread¡¡£¨m_hThread£©£»¡¡£ý¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_AFXWIN_INLINE¡¡DWORD¡¡CWinThread£º£ºSuspendThread¡¡£¨£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡ASSERT£¨m_hThread¡¡£¡=¡¡NULL£©£»¡¡return¡¡£º£ºSuspendThread¡¡£¨m_hThread£©£»¡¡£ý¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_AFXWIN_INLINE¡¡BOOL¡¡CWinThread£º£ºPostThreadMessage¡¡£¨UINT¡¡message£»¡¡WPARAM¡¡wParam£»¡¡LPARAM¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lParam£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡ASSERT£¨m_hThread¡¡£¡=¡¡NULL£©£»¡¡return¡¡£º£ºPostThreadMessage¡¡£¨m_nThreadID£»¡¡message£»¡¡wParam£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lParam£©£»¡¡£ý¡¡



762¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡825¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡14¡¡¡¡¡¡¡¡¡¡MFC¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ¡¡Õ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¶à¾w³ÌʽÔOÓ‹¡¡



Ö´ÐÐÏ̵߳ĽáÊø¡¡



¡¡¡¡¡¡¡¡¡¡¼ÈÈ»worker¡¡thread¡¡¡¡µÄÉúÃü¾ÍÊÇÖ´ÐÐÏ̺߳¯Êý±¾Éí£¬º¯ÊýÒ»µ©return¡¡£¬Ö´ÐÐÏß³ÌÒ²¾Í½áÊøÁË£¬¡¡



¡¡¡¡¡¡¡¡¡¡×ÔÈ»µÃºÜ¡£»òÕßÖ´ÐÐÏ̺߳¯ÊýÒ²¿ÉÒÔµ÷ÓÃAfxEndThread¡¡£¬½áÊøÒ»¸öÖ´ÐÐÏ̡߳£¡¡



¡¡¡¡¡¡¡¡¡¡UI¡¡Ö´ÐÐÏß³ÌÒòΪÓÐÏûϢѭ»·µÄ¹Øϵ£¬±ØÐëÔÚÏûÏ¢¶ÓÁÐÖзÅÒ»¸öWM_QUIT£¬²ÅÄܽáÊøÖ´ÐС¡



¡¡¡¡¡¡¡¡¡¡Ï̡߳£·ÅÖõķ½Ê½ºÍÒ»°ãWin32¡¡³ÌÐòÒ»Ñù£¬µ÷Ó㺣ºPostQuitMessage¡¡¡¡¼´¿É°ìµ½¡£Òà»òÕߣ¬¡¡



¡¡¡¡¡¡¡¡¡¡ÔÚÖ´ÐÐÏ̵߳ÄÈκÎÒ»¸öº¯ÊýÖе÷ÓÃAfxEndThread¡¡£¬Ò²¿ÉÒÔ½áÊøÖ´ÐÐÏ̡߳£¡¡



¡¡¡¡¡¡¡¡AfxEndThread¡¡¡¡ÆäʵҲÊǸöÍâ°ü×°£¬ÆäÄÚ²¿µ÷ÓÃ_endthreadex£¬Õâ¸ö¶¯×÷²ÅÕæÕý°ÑÖ´ÐÐÏ̡߳¡



¡¡¡¡¡¡¡¡¡¡½áÊøµô¡£¡¡



¡¡¡¡¡¡¡¡¡¡±ðÍüÁË£¬²»ÂÛworker¡¡thread¡¡»òUI¡¡thread£¬¶¼ÐèÒªÒ»¸öCWinThread¡¡¶ÔÏ󣬵±Ö´ÐÐÏ߳̽ᡡ



¡¡¡¡¡¡¡¡¡¡Êø£¬¼ÇµÃ°Ñ¸Ã¶ÔÏóÊͷŵô£¨ÀûÓÃdelete¡¡£©¡£¡¡



Ö´ÐÐÏß³ÌÓëͬ²½¿ØÖÆ¡¡



¡¡¡¡¡¡¡¡¡¡¿´ÆðÀ´Ö´ÐÐÏ̵߳ĵ®ÉúÓë½áÊø£¬ÒÔ¼°¶ÔËüµÄÓÅÏÈȨÉ趨¡¢¶³½á¡¢ÖØм¤»î£¬¶¼ºÜÈÝÒס£µ«¡¡



¡¡¡¡¡¡¡¡¡¡ÊÇÎÒ±ØÐ뾯¸æÄ㣬¶àÏ̳߳ÌÐòµÄÉè¼Æ³É¹¦¹Ø¼ü²¢²»ÔÚ´Ë¡£Èç¹ûÄãµÄÿÒ
·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨0£© ²È£¨0£©
δÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾­Ñé½±Àø£¬ÈÏÕæдԭ´´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾­Ñé½±ÀøŶ£¡