freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ios平臺下并發(fā)編程的研究和實現(xiàn)畢業(yè)論文-免費閱讀

2024-08-21 08:25 上一頁面

下一頁面
  

【正文】 當引用計數(shù)為0時,系統(tǒng)自動釋放調(diào)度源數(shù)據(jù)結(jié)構(gòu)。和GCD的其他類型一樣,可以使用dispatch_set_context函數(shù)關(guān)聯(lián)自定義數(shù)據(jù)到調(diào)度源。使用dispatch_source_set_cancel_handler或dispatch_source_set_cancel_handler_f函數(shù)來設(shè)置取消處理操作。對于Mach端口源,返回dispatch_source_machport_flags_t枚舉類型,指示事件類型; 對于自定義源,返回由dispatch_source_merge_data函數(shù)合并現(xiàn)值和新值后創(chuàng)建的合并值。// 繼續(xù)相關(guān)操作})。事件處理操作通??雌饋硪恢碧幚碜钚碌牟僮?,其實很可能處理的是多個事件的合并版本。在掛起時,它接收事件但是不做處理。 Source在創(chuàng)建調(diào)度源時除創(chuàng)建它本身以外還需要創(chuàng)建事件源,事件源就是處理事件需要的本地數(shù)據(jù)結(jié)構(gòu)。調(diào)度源保持附加在其隊列上,除非你顯式地取消它。4. 進程dispatch source:通知一些有關(guān)進程的事件,例如:進程存在時、進程發(fā)出 fork 或者 exec 類型的調(diào)用以及當信號送達進程時。第五章 調(diào)度源每當與系統(tǒng)底層進行交互時,必須要做好這種任務(wù)的執(zhí)行可能會消耗大量時間的準備。// 創(chuàng)建全局隊列dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)??墒褂眯盘柫縼硖幚磉@種問題,下面是一些基本的代碼:// 創(chuàng)建信號量,初始化可用的文件描述符數(shù)量dispatch_semaphore_t fd_sema = dispatch_semaphore_create(getdtablesize() / 2)。因為GCD在這種特殊情況下并不會調(diào)用內(nèi)核。如果程序可用的內(nèi)存吃緊或block創(chuàng)建了很多自動釋放的對象,創(chuàng)建自己的自動引用池是唯一的辦法來確保對象適時的release。})。}另一種并發(fā)隊列特別有用的地方是循環(huán)迭代計算,例如,可能使用for循環(huán)做一些計算。pletion block僅僅只是在調(diào)度任務(wù)時添加在尾部的代碼塊。dispatch_async(myCustomQueue, ^{ printf(Do some work here.\n)。如果可能的話,使用dispatch_async和dispatch_async_f函數(shù)的異步方案要優(yōu)于同步的代碼,在向隊列中添加任務(wù)后,還沒有辦法知道具體開始執(zhí)行的時間。 if (serialQueue) { dispatch_set_context(serialQueue, data)。調(diào)度隊列是引用計數(shù)的對象,可以使用dispatch_set_finalizer_f方法來指定函數(shù),當引用計數(shù)為零時被調(diào)用。retain和release dispatch對象是特別重要的,例如為了確保隊列使用時仍存在于內(nèi)存中,作為Cocoa內(nèi)存管理的對象,基本的守則是如果在代碼中打算使用,那么用之前retain用完release。dispatch_queue_t queue。因此,不要持有它們的引用,僅僅當需要時直接調(diào)用即可。并發(fā)隊列仍然是先進先出的隊列,然而,也有可能后添加的任務(wù)會比先添加的任務(wù)完成并出隊。5. 如過程序中的block創(chuàng)建了很多的ObjectiveC對象,可能需要把這些代碼括在autorelease block中來管理內(nèi)存。下面是一些使用 block 關(guān)鍵規(guī)則的總結(jié):1. 對于準備在調(diào)度隊列中異步執(zhí)行的block,可以安全的捕獲父作用域中的常量和變量,并在block中使用。block是基于C的語言功能,所以可以在C、ObjectiveC、C++中使用它。由于隊列運行在主線程中,所以經(jīng)常用作一些關(guān)鍵的同步點。當前正在執(zhí)行的任務(wù)運行在別的線程上(具體跟任務(wù)類型有關(guān)),并且由調(diào)度隊列直接進行管理。這種基于同步機制的隊列要比鎖的效率更高一些,因為鎖不管是不是在競爭條件下都需要一個昂貴的內(nèi)核中斷。使用線程時,不僅需要編寫執(zhí)行任務(wù)所需的代碼,還需創(chuàng)建和管理自己創(chuàng)建的線程。本章節(jié)將介紹調(diào)度隊列,以及如何使用它執(zhí)行大多數(shù)任務(wù)。為了程序有更出色的表現(xiàn),應(yīng)該讓操作對象盡可能的并發(fā),好讓程序能夠去做別的事情,如果創(chuàng)建操作對象的代碼同時需要等待執(zhí)行完成來處理執(zhí)行結(jié)果,可以調(diào)用waitUntilFinished方法。 executing = NO。 (BOOL)performOperation:(NSOperation *)anOp{ BOOL ranIt = NO。例如某個操作對象依賴于其他操作對象的完成,或者操作隊列本身是被掛起的,亦或是操作數(shù)超過了隊列設(shè)置的最大并發(fā)數(shù)。優(yōu)先級不是依賴關(guān)系的替代,優(yōu)先級只影響某個隊列中已經(jīng)做好執(zhí)行準備的操作對象,舉個例子,如果一個隊列中,存在已經(jīng)準備好的兩個不同優(yōu)先級的對象,那么首先執(zhí)行高優(yōu)先級的,但如果高優(yōu)先級的還未準備好,低優(yōu)先級的已經(jīng)準備好了,那么首先會執(zhí)行低優(yōu)先級的,如果想要使某個操作對象必須在另一個操作對象執(zhí)行完畢之后才執(zhí)行,那么應(yīng)該使用依賴關(guān)系而不是優(yōu)先級。當所有的依賴項都已經(jīng)完成時,當前操作對象將準備開始執(zhí)行(當重載isReady方法后,這個狀態(tài)需要使用自己創(chuàng)建的標準)。依賴關(guān)系是一種序列化不同操作對象的方式。如果對NSOperation重寫了start方法或者做了其他一些重大的定制,除了重載main方法,還需要確保自定義對象仍然保證了KVO規(guī)則。在main方法中,當操作對象的狀態(tài)改變時,仍需實現(xiàn)對象的KVO規(guī)則,如下: (void)main { try { // 開始執(zhí)行有關(guān)操作的主任務(wù) // 執(zhí)行完成后調(diào)用完成操作 [self pleteOperation]。 finished = YES。endimplementation MyOperation// 實現(xiàn)初始化方法 (id)init { self = [super init]。main:(可選)這個方法通常用于實現(xiàn)操作對象相應(yīng)的任務(wù)。2. 在循環(huán)中至少調(diào)用一次,或者當循環(huán)耗時較長時調(diào)用多次。 } return self。同時提供了大量的基礎(chǔ)方法用于實現(xiàn)KVO依賴,然而,有時候仍需補充現(xiàn)有的基礎(chǔ)結(jié)構(gòu),來確保業(yè)務(wù)的正常運行。所有的操作對象都支持以下重要的功能:,這些依賴項會阻止當前對象的運行,直到對象所依賴的其他項都完成。NSOperation是抽象基類,所以不能直接使用,需要通過繼承實現(xiàn)自己的子類來執(zhí)行任務(wù)。根據(jù)應(yīng)用程序任務(wù)需求的不同,有時候可能仍需創(chuàng)建自定義的線程。想要串行地執(zhí)行NSOperation對象,必須要先處理這些對象之間的依賴關(guān)系。即使開啟線程需要一定的開銷,但是調(diào)度隊列和操作隊列的一個優(yōu)點就是在多數(shù)情況下仍比傳統(tǒng)使用線程的方式開銷要小的多。實際中更應(yīng)該羅列其他無需用戶交互的應(yīng)用程序任務(wù),比如基于計時器的任務(wù)。由于iOS中有關(guān)UI部分的事件都在主線程中處理,因此空閑的主線程能夠更加有效地處理相應(yīng)用戶事件,使得界面更加流暢,提升用戶體驗,同時還能利用多核特性做更多的工作。簡單來說,調(diào)度源是一個監(jiān)視某些類型事件的對象。3. 可提供調(diào)度組件的速度。跟 GCD 一樣,操作隊列處理所有線程管理的工作,并且高效地執(zhí)行任務(wù)代碼。當異步函數(shù)被調(diào)用后,任務(wù)就會在后臺開始執(zhí)行,同時函數(shù)會立刻返回,同時繼續(xù)執(zhí)行后續(xù)的任務(wù)。線程是利用處理器多核特性最直接的方式,也是組成進程的子單元,操作系統(tǒng)的調(diào)度器可以對線程進行單獨的調(diào)度。論文主要介紹了iOS平臺下并發(fā)編程的技術(shù)和技巧,包含以下章節(jié):1. 并行和程序設(shè)計:介紹了基本的異步程序設(shè)計和異步執(zhí)行自定義任務(wù)的技巧。在過去,在程序中引入并發(fā)需要創(chuàng)建額外的一個或多個線程?,F(xiàn)代的多任務(wù)操作系統(tǒng),可以有上百的程序在給定的時間內(nèi)運行,所以可以調(diào)度每個程序執(zhí)行在不同的核上。因此,程序需要充分利用處理器的多核特性,將處理器的性能充分挖掘出來,提高程序的性能以及用戶體驗。關(guān)鍵詞:并發(fā)編程;移動互聯(lián)網(wǎng);多線程;移動應(yīng)用開發(fā)AbstractWith the advent of mobile Internet, CPU performance boost on Smartphones and other devices, Multicore CPU on mobile devices became mon, the cores of processor will more and more. This performance upgrades of device that make the application will be faster and more smooth, procedures more efficient, and it will have a better user experience. On the puter, concurrent of single core is time turns. Looks at the macro level is performed multiple tasks at the same time, micro level each time still perform only one task. Because of the advent of the multicore processor, the thread began with a real sense of concurrent processing. Development of multithread increasing importance, and requires the developer to learn. However, due to the limitations of device’s energy consumption and memory size, Concurrent programming in mobile application development is different from other programming. As a developer, you need to embrace change, learn the latest techniques, and improve yourself.Keywords:Concurrency Programming;Mobile Internet;Multithreading;Mobile application development第一章 緒 論在移動應(yīng)用開發(fā)中,由于受限與設(shè)備屏幕尺寸、處理器性能以及能耗等問題,與傳統(tǒng)軟件開發(fā)有不同之處。畢業(yè)論文題 目:iOS平臺下并發(fā)編程的研究和實現(xiàn)姓 名: 學 號:指導教師(職稱): 專 業(yè): 班 級:所 在 學 院: 2015年6月武漢工程大學 畢業(yè)論文目 錄摘 要 ……………………………………………………………………………………… IIIAbstract ……………………………………………………………………………………. V第一章 緒 論…………………………………………………………………………… … 1 移動開發(fā)中的并發(fā)編程 …………………………………………………………… .... 1 移動操作系統(tǒng)iOS的發(fā)展 ………………………………………………………… .... 1 論文章節(jié)安排 ……………………………………………………………………….… 2第二章 并發(fā)程序的設(shè)計 …………………………………………………………………..3 摒棄線程 ……………………………………………………………………………. …3 異步編程技術(shù)介紹 …………………………………………………………………. …4 異步編程設(shè)計 ………………………………………………………………………. …5 衡量引入并發(fā)后對程序性能的影響 ………………………………………………. …6 何時使用原生線程 …………………………………………………………………. …6第三章 操作隊列……………………………………………………………………………7 NSOperation 對象簡介 ……………………………………………………………. …7 子類化 NSOperation ………………………………………………………………. …7 自定義操作對象的執(zhí)行行為 ……………………………………………………….…11 開始執(zhí)行操作對象 ………………………………………………………………….…12第四章 調(diào)度隊列………………………………………………………………………….. 15 調(diào)度隊列介紹 ……………………………………………………………………….…15 與隊列相關(guān)的一些技術(shù)點 ………………………………………………………….…16 使用block實現(xiàn)任務(wù) ……………………………………………………………….…16 創(chuàng)建和管理調(diào)度隊列 ……………………………………………………………….…17 添加任務(wù)到隊列中 ………………………………………………………………….…20 掛起和恢復調(diào)度隊列 ……………………………………………………………
點擊復制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1