°Ë±¦Êé¿â > ÎÄѧÆäËûµç×ÓÊé > ÉîÈëdz³öMFCµÚ2°æ(PDF¸ñʽ) >

µÚ150²¿·Ö

ÉîÈëdz³öMFCµÚ2°æ(PDF¸ñʽ)-µÚ150²¿·Ö

С˵£º ÉîÈëdz³öMFCµÚ2°æ(PDF¸ñʽ) ×ÖÊý£º ÿҳ4000×Ö

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




¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1D0h¡¡¡¡DWORD¡¡¡¡¡¡un8£§6£§¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1E8h¡¡¡¡DWORD¡¡¡¡¡¡pSomeCritSect1¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1ECh¡¡¡¡DWORD¡¡¡¡¡¡pWin16Mutex¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1F0h¡¡¡¡DWORD¡¡¡¡¡¡pWin32Mutex¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1F4h¡¡¡¡DWORD¡¡¡¡¡¡pSomeCritSect2¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1F8h¡¡¡¡DWORD¡¡¡¡¡¡un9¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1FCh¡¡¡¡DWORD¡¡¡¡¡¡ripString¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡200h¡¡¡¡DWORD¡¡¡¡¡¡LastTlsSetValueEIP£§64£§¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Í¼14¡­3¡¡Ö´ÐÐÏß³ÌÊý¾Ý½á¹¹¡¡£¨PDB¡¡£©¡¡µÄϸ²¿ÄÚÈÝ¡¡£¨¡¡×ÊÁÏÕûÀí×ÔWindows¡¡95¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System¡¡Programming¡¡SECRETS£»¡¡Matt¡¡Pietrek£»¡¡IDG¡¡Books£©¡¡



750¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡813¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

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

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



Ö´ÐÐÏß³ÌÅų̣¨Scheduling£©¡¡



¡¡¡¡¡¡¡¡¡¡¡¡ÅųÌÆ÷ÌôÑ¡¡¸ÏÂÒ»¸ö»ñµÃCPU¡¡Ê±¼äµÄÖ´ÐÐÏ̡߳¹µÄΨһÒÀ¾Ý¾ÍÊÇ£ºÖ´ÐÐÏß³ÌÓÅÏÈȨ¡£Èç¹û¡¡



¡¡¡¡¡¡¡¡¡¡¡¡ËùÓеȴý±»Ö´ÐеÄÖ´ÐÐÏß³ÌÖУ¬ÓÐÒ»¸öÊÇÓÅÏÈȨ16£¬ÆäËüËùÓÐÖ´ÐÐÏ̶߳¼ÊÇÓÅÏÈȨ15¡¡¡¡£¨»ò¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¸üµÍ£©£¬ÄÇôÓÅÏÈȨ16¡¡Õß±ãÊÇÏÂÒ»¸ö¶á±êÕß¡£Èç¹ûÖ´ÐÐỊ̈߳ÁºÍ£ÂͬΪÓÅÏÈȨ16£¬Åų̡¡



¡¡¡¡¡¡¡¡¡¡¡¡Æ÷»áÌôÑ¡µÈ´ý±È½Ï¾ÃµÄÄǸö£¨¼ÙÉèΪִÐÐỊ̈߳Á£©¡£µ±£ÁµÄʱ¼äÇÐƬ£¨timeslice¡¡£©ÖÕÁË£¬Èç¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¹û£ÂÒÔÍâµÄÆäËüÖ´ÐÐÏ̵߳ÄÓÅÏÈȨÈÔά³ÖÔÚ15¡¡¡¡£¨ÒÔÏ£©£¬Ö´ÐÐỊ̈߳¾ͻá»ñµÃÖ´ÐÐȨ¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¸Èç¹û£ÂÒÔÍâµÄÆäËüÖ´ÐÐÏ̵߳ÄÓÅÏÈȨÈÔά³ÖÔÚ15¡¡¡¡£¨ÒÔÏ£©¡£¡£¡£¡¹£¬ßí£¬ÕâÌýÆðÀ´áÝ·ðÓÅÏÈ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡È¨»á±ä¶¯ËƵġ£µÄÈ·ÊÇ¡£ÎªÁ˱ÜÃâÖìÞÆÈâ³ô¡¢Â·Óж³ËÀ¹ÇµÄ²»¹«Æ½Çé¿ö·¢Éú£¬ÅųÌÆ÷¡¡



¡¡¡¡¡¡¡¡¡¡¡¡»áµ¯ÐÔµ÷ÕûÖ´ÐÐÏß³ÌÓÅÏÈȨ£¬ÒÔÇ¿»¯ÏµÍ³µÄ·´Ó¦ÄÜÁ¦£¬²¢ÇÒ±ÜÃâÈκÎÒ»¸öÖ´ÐÐÏß³ÌһֱδÄÜ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡½ÓÊÜCPU¡¡¡¡µÄÈóÔó¡£Ò»°ãµÄÖ´ÐÐÏß³ÌÓÅÏÈȨÊÇ7£¬Èç¹ûËü±»Çл»µ½Ç°¾°£¬ÅųÌϵͳ¿ÉÄÜÔÝ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡Ê±µØ°ÑËüµ÷Éýµ½8¡¡»ò9¡¡»ò¸ü¸ß¡£¶ÔÓÚÄÇЩÓÐ×ÅÊäÈëÏûÏ¢µÈ´ý±»´¦ÀíµÄÖ´ÐÐỊ̈߳¬ÅųÌϵ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡Í³Ò²»áÔÝʱµ÷¸ßÆäÓÅÏÈȨ¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¶ÔÓÚÄÇЩÓÅÏÈȨ±¾À´¾Í¸ßµÄÖ´ÐÐỊ̈߳¬Ò²²¢²»ÊÇÓÐÓÀ¾ÃµÄ±£ÕÏȨÀû¡£±ðÍüÁËWindows¡¡±Ï¾¹¡¡



¡¡¡¡¡¡¡¡¡¡¡¡ÊǸöÏûÏ¢Çý¶¯ÏµÍ³£¬Èç¹ûij¸öÖ´ÐÐÏ̵߳÷Ó㺣ºGetMessage¡¡¶øÆäÏûÏ¢¶ÓÁÐÈ´Êǿյģ¬Õâ¸öÖ´¡¡



¡¡¡¡¡¡¡¡¡¡¡¡ÐÐÏ̱߳㱻¶³½á£¬Ö±µ½ÔÙÓÐÏûÏ¢½øÀ´ÎªÖ¹¡£¶³½áµÄÒâ˼¾ÍÊDz»¹ÜÄãµÄÓÅÏÈȨÓжà¸ß£¬ÔÝʱ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡Í˳öÅÅ°àÐÐÁС£Ö´ÐÐÏß³ÌÒ²¿ÉÄܱ»ÒÔ£º£ºSuspendThread¡¡Ç¿Öƶ³½áס£¨£º£ºResumeThread¡¡¿ÉÒԽ⡡



¡¡¡¡¡¡¡¡¡¡¡¡³ý¶³½á£©¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡»á±»¶³½á£¬±íʾÕâ¸öÖ´ÐÐÏ̡߳¸ÒªÈ¥×¥È¡ÏûÏ¢£¬¶øÖ´ÐÐÏß³ÌËù¸½´øµÄÏûÏ¢¶ÓÁÐÖÐȴûÓÐÏûÏ¢¡¹¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡Èç¹ûÒ»¸öÖ´ÐÐÏß³ÌÍêÈ«ºÍUI¡¡ÎÞ¹ØÄØ£¿ÊÇ·ñËü¾ÍûÓÐÏûÏ¢¶ÓÁУ¿µ¹²»ÊÇ£¬µ«ËüµÄ³ÌÐò´úÂëÖС¡



¡¡¡¡¡¡¡¡¡¡¡¡Ã»ÓÐÏûϢѭ»·µ¹ÊÇÊÂʵ¡£Êǵģ¬ÕâÖÖÖ´ÐÐÏ̳߳ÆΪworker¡¡thread¡¡¡£ÕýÒòËü²»¿ÉÄܻᱻ¶³½á£¬¡¡



¡¡¡¡¡¡¡¡¡¡¡¡ËùÒÔËü¾ø¶Ô²»ÊÜWin16Mutex¡¡»òÆäËüÒòËضøÓ°ÏìÆäÇ¿ÖÆÐÔ¶àÈÎÎñÐÔÖÊ£¬¼°ÆäÓÅÏÈȨ¡£¡¡



¡¡Thread¡¡Context¡¡



¡¡¡¡¡¡¡¡¡¡¡¡Context¡¡Ò»´Ê£¬ÎÒ²»ÖªµÀÓÐûÓÐʲôºÃÒëÃû£¬¹ÃÇÒ¾ÍÓÃÔ­ÎÄ°É¡£ËüµÄÖ±½ÓÒâ˼ÊÇ¡¸Ç°ºó¹Ø¡¡



¡¡¡¡¡¡¡¡¡¡¡¡Ïµ¡¢ÂöÂ磻»·¾³¡¢±³¾°¡¹¡£ËùÒÔÎÒÃÇ¿ÉÒÔ˵Thread¡¡Context¡¡Êǹ¹³ÉÖ´ÐÐÏ̵߳ġ¸±³¾°¡¹¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡751¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡814¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

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



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÄÇÊÇָʲôÄØ£¿ÏÁÒåÀ´½²ÊÇÖ¸Ò»×黺´æÆ÷Öµ£¨°üÀ¨Ö¸ÁîָλÆ÷IP¡¡£©¡£ÒòΪִÐÐÏ̳߳£³£»á¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡±»ÔÝÍ££¬±»ÒªÇó°ÑCPU¡¡ÓµÓÐȨÈóöÀ´£¬ËùÒÔËü±ØÐ뽫ÔÝ֮ͣǰһ¿ÌµÄ״̬ͳͳ¼Ç¼Ï¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡À´£¬ÒÔ±¸½«À´»¹¿ÉÒÔ»Ö¸´¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Äã¿ÉÒÔÔÚWINNT¡£H¡¡¡¡ÖÐÕÒµ½Ò»¸öCONTEXT¡¡Êý¾Ý½á¹¹£¬¡¡Ëü¿ÉÒÔÓÃÀ´´¢´æThread¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Context¡¡¡¡¡££º£ºGetThreadContext¡¡ºÍ£º£ºSetThreadContext¡¡¿ÉÒÔÈ¡µÃºÍÉ趨ij¸öÖ´ÐÐÏ̵߳ġ¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡context¡¡£¬Òò¶ø¸Ä±ä¸ÃÖ´ÐÐÏ̵߳Ä״̬¡£ÕâÒѾ­ÊǷdz£µÍ½×µÄÐÐΪÁË¡£Matt¡¡Pietrek¡¡ÔÚÆä¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Windows¡¡95¡¡System¡¡Programming¡¡SECRETS¡¡¡¡Ò»ÊéµÚ10¡¡Õ£¬Ð´ÁËÒ»¸öWin32¡¡API¡¡Spy¡¡³Ì¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ê½£¬¾Í³ä·ÝÔËÓÃÁËÕâÁ½¸öº¯Êý¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÎÒÏëÎÒÃÇÔÚ²Ù×÷ϵͳ²ãÃæÉϵÄÖ´ÐÐÏß³ÌѧÀí»ù´¡ÒѾ­×ã¹»ÁË£¬ÏÖÔÚÈÃÎÒÃÇ¿´¿´±È½Ïʵ¼ÊÒ»¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µãµÄ¶«Î÷¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´Ó³ÌÐòÉè¼Æ²ãÃæ¿´Ö´ÐÐÏ̡߳¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Êé¼®ÍƼö£ºÈç¹ûÒª´Ó³ÌÐòÉè¼Æ²ãÃæÀ´Á˽âÖ´ÐÐỊ̈߳¬Jim¡¡Beveridge¡¡ºÍRobert¡¡Wiener¡¡ºÏ×Å¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÄMultithreading¡¡Applications¡¡in¡¡Win32¡¡¡¡£¨Win32¡¡¶àÏ̳߳ÌÐòÉè¼Æ/ºî¿¡½ÜÒë/·å³ö°æ£©ÊÇ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ºÜÖµµÃÍƼöµÄÒ»·Ý֪ʶÀ´Ô´¡£Õâ±¾Êé½éÉÜÖ´ÐÐÏ̵߳ÄѧÀí¹ÛÄî¡¢³ÌÐò·½·¨¡¢Í¬²½¿ØÖÆ¡¢×Ê¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÁÏÒ»ÖÂÐԵı£³Ö¡¢C¡¡runtime¡¡library¡¡µÄ¶àḬ̈߳汾¡¢C£«£«¡¡¡¡µÄ¶àÏ̳߳ÌÐò·½·¨¡¢MFC¡¡ÖеĶàÏ̡߳¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡³ÌÐò·½·¨¡¢³ý´í¡¢½ø³ÌͨѶ£¨IPC¡¡£©¡¢DLLs¡£¡£¡£¡¡£¬ÒÔ¼°Ô¼50¡¡Ò³µÄʵ¼ÊÓ¦Óᣡ¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Êé¼®ÍƼö£ºJeffrey¡¡Richter¡¡¡¡µÄAdvanced¡¡Windows¡¡ÔÚ½ø³ÌÓëÖ´ÐÐÏ̵߳ĽéÉÜÉÏ£¨µÚ£²Õº͵ڡ¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£³Õ£©£¬Ò²Óзdz£ºÃµÄ±íÏÖ¡£ËûµÄÇÐÈ뷽ʽÊÇÏêϸ¶øÉîÈëµØÐðÊöÏà¹ØWin32¡¡API¡¡¡¡µÄ¹æ¸ñ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÓëÓ÷¨¡£²¢¾ÙʵÀý×óÖ¤¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÈçºÎ²úÉúÖ´ÐÐỊ̈߳¿ÎÒÏë¸÷λ¶¼ÖªµÀÁË£¬£º£ºCreateThread¡¡¿ÉÒÔ°ìµ½¡£Í¼14¡­4¡¡ÊÇÓëÖ´ÐÐÏß³ÌÓС¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¹ØµÄWin32¡¡API¡¡¡£¡¡



752¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡815¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

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

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



ÓëÖ´ÐÐÏß³ÌÓйصÄWin32¡¡API¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¹¦ÄÜ¡¡



AttachThreadInput¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡½«Ä³¸öÖ´ÐÐÏ̵߳ÄÊäÈëµ¼ÏòÁíÒ»¸öÖ´ÐÐÏ̡߳¡



CreateThread¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡²úÉúÒ»¸öÖ´ÐÐÏ̡߳¡



ExitThread¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡½áÊøÒ»¸öÖ´ÐÐÏ̡߳¡



GetCurrentThread¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡È¡µÃÄ¿Ç°Ö´ÐÐÏ̵߳Ähandle¡¡



GetCurrentThreadId¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡È¡µÃÄ¿Ç°Ö´ÐÐÏ̵߳ÄID¡¡



GetExitCodeThread¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡È¡µÃijһִÐÐÏ̵߳ĽáÊø´úÂ루¿ÉÓÃÒÔ¾ö¶¨Ö´ÐÐÏß³ÌÊÇ·ñ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÒѽáÊø£©¡¡



GetPriorityClass¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡È¡µÃijһ½ø³ÌµÄÓÅÏÈȨµÈ¼¶¡¡



GetQueueStatus¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´«»ØijһִÐÐÏ̵߳ÄÏûÏ¢¶ÓÁÐ״̬¡¡



GetThreadContext¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡È¡µÃijһִÐÐÏ̵߳Äcontext¡¡



GetThreadDesktop¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡È¡µÃijһִÐÐÏ̵߳Ädesktop¡¡¶ÔÏó¡¡



GetThreadPriority¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡È¡µÃijһִÐÐÏ̵߳ÄÓÅÏÈȨ¡¡



GetThreadSelectorEntry¡¡¡¡¡¡¡¡¡¡¡¡³ý´íÆ÷רÓ㬴«»ØÖ¸¶¨Ö®Ö´ÐÐÏ̵߳Äij¸öselector¡¡µÄ¡¡



LDT¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¼Ç¼Ïî¡¡



ResumeThread¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡½«Ä³¸ö¶³½áµÄÖ´ÐÐÏָ̻߳´Ö´ÐС¡



SetPriorityClass¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡É趨ÓÅÏÈȨµÈ¼¶¡¡



SetThreadPriority¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡É趨ִÐÐÏ̵߳ÄÓÅÏÈȨ¡¡



Sleep¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡½«Ä³¸öÖ´ÐÐÏß³ÌÔÝʱ¶³½á¡£ÆäËüÖ´ÐÐÏ߳̽«»ñµÃÖ´ÐÐȨ¡£¡¡



SuspendThread¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¶³½áij¸öÖ´ÐÐÏ̡߳¡



TerminateThread¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡½áÊøij¸öÖ´ÐÐÏ̡߳¡



TlsAlloc¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÅäÖÃÒ»¸öTLS¡¡¡¡¡¡¡¡¡¡£¨Thread¡¡Local¡¡Storage¡¡£©¡¡



TlsFree¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÊÍ·ÅÒ»¸öTLS¡¡¡¡¡¡¡¡¡¡£¨Thread¡¡Local¡¡Storage¡¡£©¡¡



TlsGetValue¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡È¡µÃij¸öTLS¡¡¡¡¡¡¡¡¡¡£¨Thread¡¡Local¡¡Storage¡¡£©µÄÄÚÈÝ¡¡



TlsSetValue¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡É趨ij¸öTLS¡¡¡¡¡¡¡¡¡¡£¨Thread¡¡Local¡¡Storage¡¡£©µÄÄÚÈÝ¡¡



WaitForInputIdle¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÈ´ý£¬Ö±µ½²»ÔÙÓÐÊäÈëÏûÏ¢½øÈëij¸öÖ´ÐÐÏß³ÌÖС¡



ͼ14¡­4¡¡ÓëÖ´ÐÐÏß³ÌÓйصÄWin32¡¡API¡¡º¯Êý¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡753¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡816¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

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



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡×¢Ò⣬¶àÖ´ÐÐÏ̲߳¢²»ÄÜÈóÌÐòÖ´ÐеñȽϿ죨³ý·ÇÊÇÔÚ¶àCPU¡¡»úÆ÷ÉÏ£¬²¢ÇÒʹÓÃÖ§³Ö¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡symmetric¡¡multiprocessing¡¡¡¡µÄ²Ù×÷ϵͳ£©£¬Ö»ÊÇÄܹ»ÈóÌÐò±È½Ï¡¸Óз´Ó¦¡¹¡£ÊÔÏëij¸ö³Ì¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ê½ÔÚij¸ö²Ëµ¥ÏîÄ¿±»°´ÏºóÒª×öÒ»¸öСʱµÄÔËË㹤×÷£¬Èç¹ûÕâ·Ý¹¤×÷ÔÚÖ÷Ö´ÐÐÏß³ÌÖÐ×ö£¬¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¶øÇÒûÓÐÀûÓÃPeekMessage¡¡¡¡µÄ¼¼ÇÉʱʱ¹Û¿´ÏûÏ¢¶ÓÁеÄÄÚÈݲ¢´¦ÀíÖ®£¬ÄÇôÕâÒ»¸öСʱ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÄÚÕâ¸ö³ÌÐòµÄʹÓÃÕß½Ó¿Ú¿ÉÒÔ˵ÊDZ»¶³½áסÁË£¬½«ºÁÎÞ·´Ó¦¡£µ«Èç¹û³ÁÖصÄÔËË㹤×÷ÊÇ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÓÉÁíÒ»¸öÖ´ÐÐÏß³ÌÀ´¸ºÔð£¬Ê¹ÓÃÕß½Ó¿Ú½«ÒÀÈ»Áé»î£¬²»ÊÜÓ°Ïì¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Worker¡¡Threads¡¡ºÍ¡¡U¡¡¡¡I¡¡Threads¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´ÓWindows¡¡²Ù×÷ϵͳµÄ½Ç¶ÈÀ´¿´£¬Ö´ÐÐÏ߳̾ÍÊÇÖ´ÐÐỊ̈߳¬²¢Î´ÔÙÓÐʲô·ÖÀà¡£µ«´ÓMFC¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÄ½Ç¶È¿´£¬Ôò°ÑÖ´ÐÐÏ̻߳®·ÖΪºÍʹÓÃÕß½Ó¿ÚÎ޹صÄworker¡¡threads¡¡£¬ÒÔ¼°ºÍʹÓÃÕß½Ó¿Ú¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨UI¡¡£©ÓйصÄUI¡¡threads¡¡¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ù±¾ÉÏ£¬µ±ÎÒÃÇÒÔ£º£ºCreateThread¡¡²úÉúÒ»¸öÖ´ÐÐỊ̈߳¬²¢Ö¸¶¨Ò»¸öÖ´ÐÐÏ̺߳¯Êý£¬Ëü¾ÍÊÇÒ»¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¸öworker¡¡thread¡¡£¬³ý·ÇÔÚËüµÄÉúÃüÖнӴ¥µ½ÁËÊäÈëÏûÏ¢¡­ÕâʱºòËüÓ¦¸ÃÓÐÒ»¸öÏûÏ¢»Ø¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Â·£¬ÒÔץȡÏûÏ¢£¬ÓÚÊǸÃÖ´ÐÐÏß³ÌÒ¡ÉíÒ»±ä¶øΪUI¡¡thread¡¡¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡×¢Ò⣬ִÐÐÏ̱߳¾À´¾Í´øÓÐÏûÏ¢¶ÓÁУ¬Ç뿴ͼ14¡­3¡¡µÄTDB¡¡½á¹¹¡£¶øÈç¹ûÖ´ÐÐÏ̳߳ÌÐò´úÂë¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÖдøÓÐÒ»¸öÏûϢѭ»·£¬¾Í³ÆΪUI¡¡thread¡¡¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡´íÎó¹ÛÄî¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÎҼǵÃÔø¾­ÔÚ΢ÈíµÄ¼¼ÊõÎļþÖУ¬Ò²Ôø¾­ÔÚ΢ÈíµÄ·¶Àý³ÌÐòÖУ¬¿´µ½ËûÃǹÄÀøÕâÑùµÄ×÷¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡·¨£ºÎª³ÌÐòÖеÄÿһ¸ö´°¿Ú²úÉúÒ»¸öÖ´ÐÐỊ̈߳¬¸ºÔð´°¿ÚÐÐΪ¡£ÕâÖÖ´íÎóµÄʾ·¶ÓÈÆä´æÔÚ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÓÚMDI¡¡³ÌÐòÖС£Êǵģ¬ÔçÆÚÎÒÒ²Õ´Õ´×ÔϲµØΪMDI¡¡³ÌÐòµÄÿһ¸ö×Ó´°¿ÚÉè¼ÆÒ»¸öÖ´¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÐÐÏ̡߳£»ù±¾ÉÏÕâÊÇ´íÎóµÄÐÐΪ£¬Òª¸¶³ö°º¹óµÄ´ú¼Û¡£ÒòΪ×Ó´°¿ÚÒ»Çл»£¬ÉÏÊö×÷·¨»áµ¼¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÖÁÖ´ÐÐÏß³ÌÒ²Çл»£¬¶øÕâÈ´Òª»¨·Ñ´óÁ¿µÄϵͳ×ÊÔ´¡£±È½ÏºÃµÄ×÷·¨ÊÇ°ÑËùÓÐUI¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨User¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Interface¡¡£©¶¯×÷¶¼¼¯ÖÐÔÚÖ÷Ö´ÐÐÏß³ÌÖУ¬ÆäËüµÄ¡¸´¿ÖÖÔËË㹤×÷¡¹²Å¿¼Âǽ»¸øworker¡¡threads¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡È¥×ö¡£¡¡



754¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡817¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

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

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



Õýȷ̬¶È¡¡



¡¡¡¡¡¡¡¡¡¡Ê²Ã´ÊÇʹÓöàÖ´ÐÐÏ̵߳ĺÃʱ»úÄØ£¿Èç¹ûÄãµÄ³ÌÐòÓÐÐí¶àÊÂҪ棬µ«ÊÇÄ㻹ҪËæʱ±£³Ö×¢¡¡



¡¡¡¡¡¡¡¡¡¡ÒâijЩÍⲿʼþ£¨¿ÉÄÜÀ´×ÔÓ²¼þ»òÀ´×ÔʹÓÃÕߣ©£¬Õâʱ¾ÍÊʺÏʹÓöàÖ´ÐÐÏß³ÌÀ´°ïæ¡£¡¡



¡¡¡¡¡¡¡¡¡¡ÒÔͨѶ³ÌÐòΪÀý¡£Äã¿ÉÒÔÈÃÖ÷Ö´ÐÐÏ̸߳ºÔðʹÓÃÕß½Ó¿Ú£¬²¢±£³ÖÖÐÊàµÄµØλ¡£¶øÒÔÒ»¸ö·Ö¡¡



¡¡¡¡¡¡¡¡¡¡ÀëµÄÖ´ÐÐÏ̴߳¦ÀíͨѶ¶Ë¿Ú£¬¡¡



MFC¡¡¶àÏ̳߳ÌÐòÉè¼Æ¡¡



¡¡¡¡¡¡¡¡¡¡ÎÒÒѾ­ÔÚµÚ£±ÕÂÒÔÒ»¸öС½Ú½éÉÜÁËWin32¡¡¶àÏ̳߳ÌÐòµÄд·¨£¬²¢¸øÁËÒ»¸öС·¶Àý¡¡



¡¡¡¡¡¡¡¡¡¡MltiThrd¡¡¡£ÕâÒ»½Ú£¬ÎÒÒª½éÉÜMFC¡¡¶àÏ̳߳ÌÐòµÄд·¨¡£¡¡



̽Ë÷CWinThread¡¡



¡¡¡¡¡¡¡¡¡¡¾ÍÏñCWinApp¡¡¶ÔÏó´ú±íÒ»¸ö³ÌÐò±¾ÉíÒ»Ñù£¬CWinThread¡¡¶ÔÏó´ú±íÒ

·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨0£© ²È£¨0£©

Äã¿ÉÄÜϲ»¶µÄ