- »ð·ïÖ±²¥ {ÈÈÃÅÍÆ¼ö}
- NBA¾«²ÊÖ±²¥
- ×ãÇòÏÖ³¡Ö±²¥
- ÌðÐÄÖ÷²¥½âÅÌ
·¨À¼¿Ë¸£ÃŽ«¿¨°¢¡¤É£ÍÐ˹ÉËÍ£ÊýÔ£¬¸ñ²ßÉËÊÆÎ´¶¨¡£
À×ËÙÌåÓýÔÚ4ÔÂ19ÈÕ·¢²¼ÁË×îеÄÏûÏ¢¡£ÔçЩʱºò£¬µÂ¼×¾ãÀÖ²¿·¨À¼¿Ë¸£·¢²¼ÁËÒ»Ôò¹Ù·½Í¨¸æ£¬Ðû²¼ÁËËûÃǵÄ22Ëê°ÍÎ÷ÃŽ«¿¨°¢¡¤É£ÍÐ˹ÔâÓöÁËÑÏÖØµÄÉ˲¡¡£¾¹ýÕï¶Ï£¬É£ÍÐ˹µÄÊ®×ÖÈÍ´øËºÁÑ£¬ÕâÒ»ÉËÊÆ½«Ê¹Ëû²»µÃ²»È±Ï¯½ÓÏÂÀ´µÄÊýÔ±ÈÈü¡£ÕâÒ»ÏûÏ¢¶ÔÓÚ·¨À¼¿Ë¸£×ãÇò¾ãÀÖ²¿À´ËµÎÞÒÉÊÇÒ»¸ö¾Þ´óµÄ´ò»÷£¬ÒòΪËûÃÇĿǰÕýÒÀÀµÕâλÄêÇáÃŽ«µÄ³öÉ«±íÏÖÀ´ÎȹÌÇò¶ÓµÄ·ÀÊØ¡£
Óë´Ëͬʱ£¬·¨À¼¿Ë¸£»¹·¢²¼ÁËÁíһλÇò¶ÓºËÐÄÇòÔ±ÂíÀï°Â¡¤¸ñ²ßµÄÉËÇéͨ¸æ¡£ÕâÎ»Ôø¾µÄÊÀ½ç±¹Ú¾üµÃÖ÷ÒòΪ´óÍÈÊÜÉ˶øÎÞ·¨³öÕ½£¬¾ßÌåºÎʱÄܹ»¸´³ö£¬»¹ÐèÒªµÈ´ý½øÒ»²½µÄ֪ͨ¡£¸ñ²ßµÄȱÕó½«Ê¹µÃ·¨À¼¿Ë¸£µÄ¹¥»÷Á¦´ó´òÕÛ¿Û£¬Çò¶Ó½«ÐèҪѰÕÒÆäËûÇòÔ±À´Ìî²¹ÕâÒ»¿Õȱ¡£
ÖµµÃÒ»ÌáµÄÊÇ£¬±¾Èü¼¾·¨À¼¿Ë¸£µÄÖ÷Á¦ÃŽ«ÌØÀÆÕÒòÉËȱϯÁËÈü¼¾µÄºó°ë¶Î¡£ÔÚ´ËÆÚ¼ä£¬Çò¶ÓÖ»ÄÜÒÀ¿¿ÄêÇáµÄÉ£ÍÐ˹ºÍһλ36ËêµÄÀϽ«¸ñÀ¶ûÀ´ÊØ»¤ÇòÃÅ¡£¶øÏÖÔÚ£¬Ëæ×ÅÉ£ÍÐ˹µÄÊÜÉË£¬µÂ¹úýÌåsport1±¨µÀ³ÆÌØÀÆÕµÄ»Ø¹é¿ÉÄÜÖ¸ÈÕ¿É´ý¡£Èç¹ûÒ»ÇÐ˳Àû£¬ÌØÀÆÕÓпÉÄÜ»áÔÚ±¾ÖÜÈÕ¶ÔÕó°Â¸ñ˹±¤µÄ±ÈÈüÖÐÖØ·µÈü³¡£¬Õâ¶ÔÓÚ·¨À¼¿Ë¸£µÄ·ÀÊØÀ´ËµÎÞÒÉÊÇÒ»¸öÖØÒªµÄºÃÏûÏ¢¡£È»¶ø£¬¾ßÌåÇé¿ö»¹ÓдýÇò¶Ó½øÒ»²½µÄÈ·ÈϺ͹ٷ½¹«¸æµÄ·¢²¼¡£.net ¿ò¼ÜÏÂÈçºÎʵÏÖ¶àÏß³Ì
ÔÚ.NET¿ò¼ÜÏÂʵÏÖ¶àÏ̱߳à³ÌÖ÷񻃾¼°µ½ÄÄЩ¸ÅÄîºÍ¼¼Êõ£¿
ÇëÏêϸ½âÊÍÒ»ÏÂÔÚ.NETÖÐÈçºÎ´´½¨ºÍʹÓöàÏ̳߳ÌÐò¡£
лл
ÔÚ.NET¿ò¼ÜÏÂʵÏÖ¶àÏ̱߳à³ÌÖ÷񻃾¼°µ½ÒÔϼ¸¸ö¸ÅÄîºÍ¼¼Êõ£º
1. Ị̈߳º
* Ïß³ÌÊdzÌÐòÖ´ÐÐÁ÷µÄ×îСµ¥Ôª£¬Ò»¸ö½ø³ÌÄÚ¿ÉÒÔÓÐÒ»¸ö»ò¶à¸öÏ̡߳£Ã¿¸öÏ̶߳¼ÓÐ×Ô¼ºµÄÖ´Ðз¾¶ºÍ¶ÑÕ»¿Õ¼ä¡£
* ÔÚ.NETÖУ¬¿ÉÒÔʹÓÃ`System.Threading`ÃüÃû¿Õ¼äÖеÄ`Thread`ÀàÀ´´´½¨ºÍ¹ÜÀíÏ̡߳£
2. Ïß³Ìͬ²½ÓëͨÐÅ£º
* µ±¶à¸öÏ̹߳²ÏíÊý¾Ýʱ£¬ÎªÁ˱£Ö¤Êý¾ÝµÄÒ»ÖÂÐÔºÍ׼ȷÐÔ£¬ÐèҪʹÓÃͬ²½»úÖÆ£¨ÈçËø¡¢»¥³âÁ¿¡¢Ê¼þµÈ£©À´·ÀÖ¹¾ºÌ¬Ìõ¼þ¡£
* ÔÚ.NETÖУ¬ÌṩÁ˶àÖÖͬ²½ÔÓïÈç`Monitor`¡¢`lock`¹Ø¼ü×Ö¡¢`SemaphoreSlim`¡¢`ManualResetEvent`µÈÓÃÓÚʵÏÖÏ̼߳äµÄͬ²½ºÍͨÐÅ¡£
3. Ï̳߳أº
* Ï̳߳ØÊÇÒ»ÖÖÓÃÓÚ¹ÜÀíºÍ¸´ÓÃÏ̵߳ļ¼Êõ¡£Í¨¹ýÏ̳߳ؿÉÒÔ¼õÉÙÏ̵߳Ĵ´½¨ºÍÏú»ÙµÄ¿ªÏú£¬Ìá¸ß³ÌÐòµÄÐÔÄÜ¡£ÔÚ.NETÖпÉÒÔʹÓÃ`System.Threading.ThreadPool`Àà»òʹÓÃһЩ¸ß¼¶¿â£¨Èç`TPL Task Parallel Library`£©À´ÊµÏÖÏ̳߳ع¦ÄÜ¡£
4. Òì²½±à³Ì£º
* Òì²½±à³ÌÊÇÒ»ÖÖ±à³Ìģʽ£¬ËüÔÊÐí³ÌÐòÔڵȴýij¸ö²Ù×÷£¨ÈçI/O²Ù×÷£©Íê³Éʱ¼ÌÐøÖ´ÐÐÆäËûÈÎÎñ¡£ÔÚ.NETÖУ¬¿ÉÒÔʹÓÃ`async/await`¹Ø¼ü×ÖºÍÏà¹ØµÄÒì²½APIÀ´ÊµÏÖÒì²½±à³Ì¡£ÕâÖÖģʽ¿ÉÒÔÓÐЧµØÀûÓöàºËCPU×ÊÔ´£¬Ìá¸ß³ÌÐòµÄÏìÓ¦ÐÔºÍÍÌÍÂÁ¿¡£
ÔÚ.NETÖд´½¨ºÍʹÓöàÏ̳߳ÌÐòµÄ²½ÖèÈçÏ£º
1. ¶¨ÒåÈÎÎñ£ºÊ×ÏÈÈ·¶¨ÐèÒª¶àÏß³ÌÖ´ÐеÄÈÎÎñÊÇʲô£¬ÒÔ¼°ÕâЩÈÎÎñÖ®¼äÊÇ·ñ´æÔÚÒÀÀµ¹ØÏµ»òÐèÒª¹²ÏíÊý¾ÝµÄÇé¿ö¡£
2. ´´½¨Ị̈߳ºÊ¹ÓÃ`Thread`Àà»òÏà¹ØµÄAPI´´½¨Ò»¸ö»ò¶à¸öÏß³ÌÀ´Ö´ÐÐÈÎÎñ¡£Ã¿¸öÏ߳̿ÉÒÔÖ´ÐÐÒ»¸ö¶ÀÁ¢µÄ´úÂë¿é»ò·½·¨¡£
3. ʹÓÃͬ²½»úÖÆ£ºÈç¹û¶à¸öÏß³ÌÐèÒª¹²ÏíÊý¾Ý»òе÷Ö´ÐÐ˳Ðò£¬Ê¹ÓÃËø¡¢»¥³âÁ¿¡¢Ê¼þµÈͬ²½ÔÓïÀ´±£Ö¤Êý¾ÝµÄÕýÈ·ÐÔºÍÒ»ÖÂÐÔ¡£
4. ʹÓÃÏ̳߳أºÈç¹ûÐèҪƵ·±µØ´´½¨ºÍÏú»ÙỊ̈߳¬¿ÉÒÔ¿¼ÂÇʹÓÃÏ̳߳ØÀ´Ìá¸ßÐÔÄܺÍ×ÊÔ´ÀûÓÃÂÊ¡£
5. Òì²½±à³Ì£ºÈç¹ûÈÎÎñÉæ¼°µ½I/O²Ù×÷»òÆäËûºÄʱ²Ù×÷£¬¿ÉÒÔʹÓÃ`async/await`¹Ø¼ü×ÖºÍÏà¹ØAPIÀ´ÊµÏÖÒì²½±à³ÌÒÔÌá¸ß³ÌÐòµÄÏìÓ¦ÐÔºÍÍÌÍÂÁ¿¡£
6. µ÷ÊԺͲâÊÔ£º¶Ô¶àÏ̳߳ÌÐò½øÐгä·ÖµÄµ÷ÊԺͲâÊÔÊǷdz£ÖØÒªµÄ£¬ÒÔÈ·±£³ÌÐòµÄÕýÈ·ÐÔºÍÎȶ¨ÐÔ¡£¿ÉÒÔʹÓõ÷ÊÔ¹¤¾ßºÍ²âÊÔ¿ò¼ÜÀ´°ïÖú·¢ÏÖºÍÐÞ¸´¶àÏß³ÌÏà¹ØµÄÎÊÌâ¡£
×ÜÖ®£¬ÔÚ.NET¿ò¼ÜÏÂʵÏÖ¶àÏ̱߳à³ÌÐèÒªÁ˽âÏà¹Ø¸ÅÄîºÍ¼¼Êõ£¨ÈçÏ̡߳¢Ïß³Ìͬ²½ÓëͨÐÅ¡¢Ï̳߳ء¢Òì²½±à³ÌµÈ£©£¬²¢×ñÑÒ»¶¨µÄ²½Ö裨È綨ÒåÈÎÎñ¡¢´´½¨Ï̡߳¢Ê¹ÓÃͬ²½»úÖÆµÈ£©À´±àдºÍʹÓöàÏ̳߳ÌÐò¡£