ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

iOS²¢·¢±à³ÌÖ¸ÄÏ
2014-11-24 12:46:54 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:1´Î
Tags£ºiOS ²¢·¢ ±à³Ì Ö¸ÄÏ

iOS Concurrency Programming Guide


iOS ºÍ Mac OS ´«Í³µÄ²¢·¢±à³ÌÄ£ÐÍÊÇỊ̈߳¬²»¹ýÏß³ÌÄ£ÐÍÉìËõÐÔ²»Ç¿£¬¶øÇÒ±àдÕýÈ·µÄÏ̴߳úÂëÒ²²»ÈÝÒס£Mac OS ºÍ iOS ²ÉÈ¡ asynchronous design approach À´½â¾ö²¢·¢µÄÎÊÌâ¡£


ÒýÈëµÄÒì²½¼¼ÊõÓÐÁ½¸ö£º


Grand Central Dispatch£ºÏµÍ³¹ÜÀíỊ̈߳¬Äã²»ÐèÒª±àдÏ̴߳úÂë¡£Ö»Ð趨ÒåÏëÒªÖ´ÐеÄÈÎÎñ£¬È»ºóÌí¼Óµ½Êʵ±µÄdispatch queue¡£Grand Central Dispatch»á¸ºÔð´´½¨Ï̺߳͵÷¶ÈÄãµÄÈÎÎñ¡£ÏµÍ³Ö±½ÓÌṩÏ̹߳ÜÀí£¬±ÈÓ¦ÓÃʵÏÖ¸ü¼Ó¸ßЧ¡£


Operation Queue£ºObjective-C¶ÔÏó£¬ÀàËÆÓÚdispatch queue¡£Ä㶨ÒåÏëÒªÖ´ÐеÄÈÎÎñ£¬²¢Ìí¼ÓÈÎÎñµ½operation queue£¬ºóÕ߸ºÔðµ÷¶ÈºÍÖ´ÐÐÕâЩÈÎÎñ¡£ºÍGrand Central DispatchÒ»Ñù£¬Operation QueueÒ²¹ÜÀíÁËỊ̈߳¬¸ü¼Ó¸ßЧ¡£


Dispatch Queue


»ùÓÚCµÄÖ´ÐÐ×Ô¶¨ÒåÈÎÎñ»úÖÆ¡£dispatch queue°´ÏȽøÏȳöµÄ˳Ðò£¬´®Ðлò²¢·¢µØÖ´ÐÐÈÎÎñ¡£serial dispaptch queueÒ»´ÎÖ»ÄÜÖ´ÐÐÒ»¸öÈÎÎñ£¬Ö±½Óµ±Ç°ÈÎÎñÍê³É²Å¿ªÊ¼³öÁв¢Æô¶¯ÏÂÒ»¸öÈÎÎñ¡£¶øconcurrent dispatch queueÔò¾¡¿ÉÄÜ¶àµØÆô¶¯ÈÎÎñ²¢·¢Ö´ÐС£


Óŵ㣺


Ö±¹Û¶ø¼òµ¥µÄ±à³Ì½Ó¿Ú


Ìṩ×Ô¶¯ºÍÕûÌåµÄÏ̳߳عÜÀí


Ìṩ»ã±à¼¶µ÷ÓŵÄËÙ¶È


¸ü¼Ó¸ßЧµØÊ¹ÓÃÄÚ´æ


²»»átrapÄÚºËunder load


Òì²½·ÖÅÉÈÎÎñµ½dispatch queue²»»áµ¼ÖÂqueueËÀËø


ÉìËõÐÔÇ¿


serial dispatch queue±ÈËøºÍÆäËüͬ²½Ô­Óï¸ü¼Ó¸ßЧ


Dispatch Sources


Dispatch Sources ÊÇ»ùÓÚCµÄϵͳʼþÒì²½´¦Àí»úÖÆ¡£Ò»¸öDispatch Source·â×°ÁËÒ»¸öÌØ¶¨ÀàÐ͵Äϵͳʼþ£¬µ±Ê¼þ·¢ÉúʱÌá½»Ò»¸öÌØ¶¨µÄblock¶ÔÏó»òº¯Êýµ½dispatch queue¡£


Äã¿ÉÒÔʹÓÃDispatch Sources¼à¿ØÒÔÏÂÀàÐ͵Äϵͳʼþ£º


¶¨Ê±Æ÷


ÐźŴ¦ÀíÆ÷


ÃèÊö·ûÏà¹ØµÄʼþ


½ø³ÌÏà¹ØµÄʼþ


Mach portʼþ


Äã´¥·¢µÄ×Ô¶¨Òåʼþ


Operation Queues


Operation QueuesÊÇCocoa°æ±¾µÄ²¢·¢dispatch queue£¬ÓÉ NSOperationQueue ÀàʵÏÖ¡£dispatch queue×ÜÊǰ´ÏȽøÏȳöµÄ˳ÐòÖ´ÐÐÈÎÎñ£¬¶ø Operation Queues ÔÚÈ·¶¨ÈÎÎñÖ´ÐÐ˳Ðòʱ£¬»¹»á¿¼ÂÇÆäËüÒòËØ¡£×îÖ÷ÒªµÄÒ»¸öÒòËØÊÇÖ¸¶¨ÈÎÎñÊÇ·ñÒÀÀµÓÚÁíÒ»¸öÈÎÎñµÄÍê³É¡£ÄãÔÚ¶¨ÒåÈÎÎñʱÅäÖÃÒÀÀµÐÔ£¬´Ó¶ø´´½¨¸´ÔÓµÄÈÎÎñÖ´ÐÐ˳Ðòͼ¡£


Ìá½»µ½Operation QueuesµÄÈÎÎñ±ØÐëÊÇ NSOperation ¶ÔÏó£¬operation object·â×°ÁËÄãÒªÖ´ÐеŤ×÷£¬ÒÔ¼°ËùÐèµÄËùÓÐÊý¾Ý¡£ÓÉÓÚ NSOperation ÊÇÒ»¸ö³éÏó»ùÀ࣬ͨ³£ÄãÐèҪʵÏÖÒ»¸ö×Ô¶¨Òå×ÓÀàÀ´Ö´ÐÐÈÎÎñ¡£²»¹ýFoundation framework×Ô´øÁËһЩ¾ßÌå×ÓÀ࣬Äã¿ÉÒÔ´´½¨²¢Ö´ÐÐÏà¹ØµÄÈÎÎñ¡£


Operation objects»á²úÉúkey-value observing(KVO)֪ͨ£¬¶ÔÓÚ¼à¿ØÈÎÎñµÄ½ø³Ì·Ç³£ÓÐÓá£ËäÈ»operation queue×ÜÊDz¢·¢µØÖ´ÐÐÈÎÎñ£¬Äã¿ÉÒÔʹÓÃÒÀÀµ£¬ÔÚÐèҪʱȷ±£Ë³ÐòÖ´ÐС£


Òì²½Éè¼Æ¼¼Êõ


ͨ¹ýÈ·±£Ö÷Ïß³Ì×ÔÓÉÏìÓ¦Óû§Ê¼þ£¬²¢·¢¿ÉÒԺܺõØÌá¸ßÓ¦ÓõÄÏìÓ¦ÐÔ¡£Í¨¹ý½«¹¤×÷·ÖÅäµ½¶àºË£¬»¹ÄÜÌá¸ßÓ¦Óô¦ÀíµÄÐÔÄÜ¡£µ«ÊDz¢·¢Ò²´øÀ´Ò»¶¨µÄ¶îÍ⿪Ïú£¬²¢ÇÒʹ´úÂë¸ü¼Ó¸´ÔÓ£¬¸üÄѱàдºÍµ÷ÊÔ´úÂë¡£


Òò´ËÔÚÓ¦ÓÃÉè¼Æ½×¶Î£¬¾ÍÓ¦¸Ã¿¼ÂDz¢·¢£¬Éè¼ÆÓ¦ÓÃÐèÒªÖ´ÐеÄÈÎÎñ£¬¼°ÈÎÎñËùÐèµÄÊý¾Ý½á¹¹¡£


Operation Queues


»ùÓÚObjective-C£¬Òò´Ë»ùÓÚCocoaµÄÓ¦ÓÃͨ³£»áʹÓÃOperation Queues


Operation Objects


operation object ÊÇ NSOperation ÀàµÄʵÀý£¬·â×°ÁËÓ¦ÓÃÐèÒªÖ´ÐеÄÈÎÎñ£¬ºÍÖ´ÐÐÈÎÎñËùÐèµÄÊý¾Ý¡£NSOperation ±¾ÉíÊdzéÏó»ùÀ࣬ÎÒÃDZØÐëʵÏÖ×ÓÀà¡£Foundation frameworkÌṩÁËÁ½¸ö¾ßÌå×ÓÀ࣬Äã¿ÉÒÔÖ±½ÓʹÓãº


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºAndroidʼþ¼àÌýÆ÷£¨Event Listen.. ÏÂһƪ£ºUnity3DÔÚAndroidÉϲ¥·ÅÊÓÆµ¼°rem..

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ:

¡¤Linuxϵͳ¼ò½é (2025-12-25 21:55:25)
¡¤Linux°²×°MySQL¹ý³Ì (2025-12-25 21:55:22)
¡¤Linuxϵͳ°²×°½Ì³Ì£¨ (2025-12-25 21:55:20)
¡¤HTTP Åc HTTPS µÄ²î„ (2025-12-25 21:19:45)
¡¤ÍøÕ¾°²È«±ØÐ޿ΣºÍ¼ (2025-12-25 21:19:42)