iPhone多執行緒程式設計初體驗

2021-09-01 09:42:28 字數 1025 閱讀 5305

from:

找了很長時間iphone下多執行緒的程式設計的內容, 用到的類是uikit的中nsthread.。

在google過程中,發現很多文都驚喜地標題著類似< 多執行緒的ios4來了》, 這些想正向引導一下, ios4的亮點在於多工,乙個任務為乙個程序,也叫多程序, 而多執行緒在早期的iphoneos上都是有的.

iphone os中任務的概念是乙個應用, 在乙個時間你只能做一件事情, 即不能同時玩遊戲,同時上qq. 而多工的時候是可以這麼做的.

流程大概如下:

1. 建立乙個執行緒

[nsthread detachnewthreadselect:@selector(beginthread) 

totarget:selft

withobject:nil];

2.執行緒裡做兩件,一件是後台處理耗時間的活(dosomethinglongtime),另一件是更新ui(updateui)

view plaincopy to clipboardprint? 

(void) beginthread

3. 那updateui的資料怎麼來呢

view plaincopy to clipboardprint? 

-(void)dosomethinglongtime

這樣就完成了乙個大概的流程,但是updateui裡不能用while(1),不然主線程會堵在updateui的函式裡,怎麼辦呢? google了乙個方法, updateui的方法做了一下修改

這樣的意思, 如果沒執行緒沒結束,過0.2秒再回到這個函式更新介面, 如此迴圈, 直到結束.

view plaincopy to clipboardprint? 

(void)updateui

以上iphone多執行緒程式設計的一種方法, 當然還有人提議用nsoperation和nsoperationqueue,但我試了一把,沒把效果試出來, 等有結果再回來更新. 嘿嘿.

Linux多執行緒程式設計初體驗

直接上 include pthread.h 執行緒庫,執行緒不是通過核心實現的 include stdio.h include stdlib.h include unistd.h void thread func void arg int main sleep 1 等待1 s,否則程序先結束那麼執行...

iPhone之初體驗

最近幾年 單純的手機向真正意義上的掌上電腦轉變已成為個人科技領 雖然它拍照效果不錯 但是不能錄製視訊。其出色的網頁瀏覽器不支援flash技術 因而不能完全顯示某些頁面。雖然它內建了完整的ipod 但不能用這些歌曲來作鈴聲。它也沒有遊戲功能 也沒有提供快捷方式鏈結到蘋果的itunes音樂商店。蘋果表示...

多執行緒 future模式初體驗

第一次使用多執行緒,雖然理解的不是很透徹,但是也值得記錄下。用的是future模式。建立個執行緒池 private executorservice cachedthreadpool executors.newfixedthreadpool 200,new siyuethreadfactory tes...