C# C/S³ÌÐò³ö´í£ºContextSwitchDeadlock is detected
½ñÌìÔÚVS2005µ÷ÊÔÒ»¸öC# C/S³ÌÐò£¬µ±Í¨¹ýRFCÓëSAPÁ¬½Óʱ¼ä¹ý³¤Ê±£¬³öÏÖ´Ë´íÎó£¬ÔÚÍøÉÏÕÒµ½½â¾ö°ì·¨¡£
VS2008ÉϵÄÒ»¸ö³ÌÐò£¬Í¨¹ýOracle.DataAccess.dllÖ´ÐÐdrop user
cascade²Ù×÷£¬ÎÒÔÚsqlplusÖ´Ðд˲Ù×÷´óÔ¼ÐèÒªÒ»·ÖÖÓ×óÓÒʱ¼ä£¬µ±ÎÒÔÚVS2008ÖÐdebugÆô¶¯´Ë³ÌÐòʱ£¬Ò»Ö±½ÓÊÕµ½
“ContextSwitchDeadlock is detected”ÏûÏ¢£¬²Ù×÷ÎÞ·¨½øÐÐÏÂÈ¥¡£
MSDNµÄ½âÊÍÒ»Èç¼´ÍùµØ×¨Òµ²¢ÇÒÁîÈ˷ѽ⣺
“Èç¹ûÔÚÊÔͼ½øÐÐCOMÉÏÏÂÎÄת»»ÆÚ¼ä¼ì²âµ½Ò»¸öËÀËø£¬Ôò½«¼¤»îContextSwitchDeadlockÍйܵ÷ÊÔÖúÊÖ (MDA)¡£ ”
“ÔÒòºÜ¿ÉÄÜÊǵ¥Ï̵߳¥Ôª(STA)Ï̲߳»·¢ËÍÏûÏ¢¡£STAÏ̻߳òÕߵȴý¶øÇÒ²»·¢ËÍÏûÏ¢£¬»òÕßÖ´ÐÐÒ»¸ö³¤Ê±¼äµÄ²Ù×÷¶øÇÒ²»ÔÊÐí·¢ËÍÏûÏ¢¶ÓÁС£”
ÎÒû¿´³öÕâ³ÌÐò¸úCOMÓÐʲô¹ØÏµ¡£¿´Á˰ëÌ죬ֻ¿´µ½“³¤Ê±¼äµÄ²Ù×÷”Ã²ËÆ»¹Õ´µã±ß£¬½â¾öµÄ·½·¨µ¹ÊǼò
µ¥£¬Debug->Exceptions->Managed Debugging
Assistants->ContextSwitchDeadlock,¹³³ý“Thrown”ÏîµÄ¸´Ñ¡¿ò¡£
BTW£¬
1£©COM£¬Component Object Model£¬Ëüʵ¼ÊÊÇÒ»ÀàÈí¼þ¿ª·¢·½Ê½¡£¶øCOM×é¼þ¹ËÃû˼ÒåÊǰ´ÕâÖÖ·½Ê½¿ª·¢³öÀ´µÄÈí¼þ/Ä£¿é£¬¿´¿´Project->References->Add References->COMÏÂÁгöµÄ×é¼þ¡£
2£©µ¥Ï̵߳¥Ôª£¨STA£©£ºµ±Äãн¨Ò»¸öWindowsFormÏîÄ¿£¬ÔÚÈë¿ÚMain()·½·¨ÉÏ¿ÉÒÔ¿´µ½±êʶµÄÊôÐÔ£¬STAThread˵Ã÷Ó¦ÓóÌ
ÐòµÄ COM Ïß³ÌÄ£ÐÍÊǵ¥Ï̵߳¥Ôª£¬Ò»°ã³öÏÖÔÚMain·½·¨Ç°¡£´óÒâÊÇÔÚÓëCOM»¥²Ù×÷ʱ±£Ö¤¶ÔÏóµÄḬ̈߳²È«ÐÔ£¬ÄÚ²¿Ï¸½Ú²»Ïê¡£
Ïà¹ØÎĵµ£º
1 ±à³Ì»ù´¡
1.1 »ù±¾¸ÅÄî
1. µÄÀí½â£ºconst char*, char const*, char*constµÄÇø±ðÎÊÌ⼸ºõÊÇC++ÃæÊÔÖÐÿ´Î ¶¼»áÓеÄÌâÄ¿¡£ ÊÂʵÉÏÕâ¸ö¸ÅÄî˶¼ÓÐÖ»ÊÇÈýÖÖÉùÃ÷·½Ê½·Ç³£ÏàËÆºÜÈÝÒ׼ǻ졣 Bja ......
Õû¸ö²âÊÔ×ñÑÒÔϵÄÔ¼¶¨£º
u
¼Ù¶¨ÔÚËùÓеijÌÐòÖбØÐëµÄÍ·Îļþ¶¼ÒѾ±»ÕýÈ·°üº¬¡£
¿¼ÂÇÈçϵÄÊý¾ÝÀàÐÍ£º
u
char
Ϊ
1
¸ö×Ö½Ú
u
int
Ϊ
4
¸ö×Ö½Ú
u
......
B/S½á¹¹£¬¼´Browser/Server£¨ä¯ÀÀÆ÷/·þÎñÆ÷£©½á¹¹£¬ÊÇËæ×ÅInternet¼¼ÊõµÄÐËÆð£¬¶ÔC/S½á¹¹µÄÒ»Öֱ仯»òÕ߸ĽøµÄ½á¹¹¡£ÔÚÕâÖÖ
½á¹¹Ï£¬Óû§½çÃæÍêȫͨ¹ýWWWä¯ÀÀÆ÷ʵÏÖ£¬Ò»²¿·ÖÊÂÎñÂß¼ÔÚǰ¶ËʵÏÖ£¬µ«ÊÇÖ÷ÒªÊÂÎñÂß¼ÔÚ·þÎñÆ÷¶ËʵÏÖ£¬ÐγÉËùν3-tier½á¹¹¡£B/S½á¹¹£¬Ö÷ÒªÊÇ
ÀûÓÃÁ˲»¶Ï³ÉÊìµÄWWWä¯ÀÀÆ÷¼¼Êõ£¬½áºÏä¯ÀÀÆ÷µÄ¶àÖ ......
1/ÓÐ1¡¢2¡¢3¡¢4¸öÊý×Ö£¬ÄÜ×é³É¶àÉÙ¸ö»¥²»ÏàͬÇÒÎÞÖØ¸´Êý×ÖµÄÈýλÊý£¿¶¼ÊǶàÉÙ£¿
==============================================================
2/ÆóÒµ·¢·ÅµÄ½±½ð¸ù¾ÝÀûÈóÌá³É¡£ÀûÈó(I)µÍÓÚ»òµÈÓÚ10ÍòԪʱ£¬½±½ð¿ÉÌá10%£»ÀûÈó¸ß
¡¡¡¡¡¡ÓÚ10ÍòÔª£¬µÍÓÚ20ÍòԪʱ£¬µÍÓÚ10ÍòÔªµÄ²¿·Ö°´10%Ìá³É£¬¸ßÓÚ10ÍòÔªµÄ²¿·Ö£¬¿É¿ÉÌá
......
ÔÚlinuxÉÏд³ÌÐò¡¢×öÍø¹ÜµÄÈË£¬»ò¶à»òÉÙ¶¼»á¼¸Öֽű¾¡£½Å±¾ÓïÑÔÁé»îµÄ±äÁ¿ÀàÐÍ¡¢Ç¿´óµÄÕýÔò±í´ïʽ´¦ÀíÄÜÁ¦£¬ÔÙ¼ÓÉÏlinuxϵͳ±¾ÉíµÄ¹ÜµÀ¡¢Öض¨ÏòÒÔ¼°·á¸»µÄÃüÁîÐй¤¾ß£¬ÈÃÄã±à³ÌÆðÀ´ÓÎÈÐÓÐÓà¡£
¡¡¡¡¶øCÓïÑÔ¹ÌÈ»ÓÐÖÖÖÖÓÅÊÆ£¬µ«²»¿É·ñÈÏ£¬ºÜ¶à³¡ºÏÏ£¬Óýű¾ÓïÑÔ¸üΪ·½±ã£¬±ÈÈçÎÒÃǽ«¾ÙÀý˵Ã÷µÄ¶ÔÅäÖÃÎļþµÄ´¦Àí¡£
¡¡¡¡ÏÈ ......