成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iPhone多線程編程初體驗

移動開發 iOS
多線程編程是防止主線程堵塞,增加運行效率等等的最佳方法。而原始的多線程方法存在很多的毛病,包括線程鎖死等。

找了很長時間IPhone下多線程的編程的內容, 用到的類是UIKit的中NSThread.。

在google過程中,發現很多文都驚喜地標題著類似< 多線程的OS4來了>, 這些想正向引導一下, 0S4的亮點在于多任務,一個任務為一個進程,也叫多進程, 而多線程在早期的IPHONEOS上都是有的.

IPHONE OS中任務的概念是一個應用, 在一個時間你只能做一件事情, 即不能同時玩游戲,同時上QQ. 而多任務的時候是可以這么做的.

流程大概如下:

1. 創建一個線程

  1. [NSThread detachNewThreadSelect:@selector(BeginThread)     
  2. toTarget:selft     
  3. withObject:nil];    

2.線程里做兩件,一件是后臺處理耗時間的活(dosomethinglongtime),另一件是更新UI(UpdateUI)

  1. view plaincopy to clipboardprint?  
  2. (void) BeginThread{     
  3. [self performSelectorInBackgroud:@selector(dosomethinglongtime)     
  4. withObject:nil];     
  5. [self perfomSelectorOnMainThread:@selector(UpdateUI)     
  6.  withObject:nil     
  7. watUntilDone:NO];     
  8. }    

3. 那UpdateUI的數據怎么來呢

  1. view plaincopy to clipboardprint?  
  2. -(void)dosomethinglongtime{     
  3. // 修改共享變量 varProgress, varText等等     
  4. }     
  5. {void)UpdateUI{     
  6. // 獲得共享變量 varProgress, varText等等, 顯示在界面上     

這樣就完成了一個大概的流程,但是UpdateUI里不能用while(1),不然主線程會堵在UpdateUI的函數里,怎么辦呢? Google了一個方法, UpdateUI的方法做了一下修改

這樣的意思, 如果沒線程沒結束,過0.2秒再回到這個函數更新界面, 如此循環, 直到結束.

  1. view plaincopy to clipboardprint?  
  2. (void)UpdateUI{     
  3. // 獲得共享變量 varProgress, varText等等, 顯示在界面上     
  4. if(!finished)     
  5. [NSTimer scheduledTimerWithTimeInterval:0.2 target:self     
  6. selector:@selector(UpdateUI)  userInfo:nil repeats:NO];     
  7. }    

以上IPhone多線程編程的一種方法, 當然還有人提議用NSOperation和NSOperationQueue,但我試了一把,沒把效果試出來, 等有結果再回來更新. 嘿嘿.

【編輯推薦】

解析iphone多線程

多線程編程您不知道的5件事

Java多線程程序設計詳細解析

Android 多任務多線程斷點下載

iPhone應用開發必知必會的三大基礎

責任編輯:zhaolei 來源: 互聯網
相關推薦

2021-08-12 14:33:20

Python多線程編程

2011-08-02 10:26:59

iOS 多線程 線程

2011-07-28 14:19:12

iPhone 網絡編程 聊天程序

2011-06-24 11:03:31

Qt 多線程 線程

2011-08-09 14:24:18

iPhone多線程線程

2011-06-20 13:23:03

Qt Quick QML

2011-07-21 11:12:58

iPhone 線程 多線程

2011-06-02 17:27:49

iphone 多線程

2011-07-08 16:43:46

iPhone Cocoa 多線程

2023-10-06 23:06:01

多線程Python

2013-07-16 10:12:14

iOS多線程多線程概念多線程入門

2009-08-01 09:06:35

UbuntuOneLinux開源操作系統

2009-03-09 15:12:39

XenServer安裝

2023-06-13 13:39:00

多線程異步編程

2009-03-12 10:52:43

Java線程多線程

2023-07-15 08:01:38

2010-11-22 10:31:17

Sencha touc

2011-05-30 15:12:10

App Invento 初體驗

2017-10-31 08:19:04

iPhone

2011-08-12 10:09:23

iPhone開發多線程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品一区二区三区在线观看 | 亚洲精品免费在线 | 欧美一二区 | 精品国产欧美 | 国产精品视频500部 a久久 | 国产99久久精品一区二区永久免费 | 日韩精品一区二区三区中文在线 | 久日精品| 伊人网综合 | 91精品国产手机 | 欧美色综合网 | 欧美一区二区三区在线观看 | 亚洲精品久久久蜜桃 | 国产一区二区三区亚洲 | 日本不卡免费新一二三区 | 日韩一区二区在线视频 | 成人免费一区二区三区牛牛 | 亚洲日本免费 | 久久久久亚洲精品 | 国产精品成av人在线视午夜片 | 精品国产31久久久久久 | 99re| 成人亚洲网站 | 久久丁香 | 在线中文一区 | 视频精品一区二区三区 | 999国产视频 | 日韩在线观看 | 女人牲交视频一级毛片 | 免费h视频 | 久久一区二区三区四区五区 | 国产1区2区3区 | 亚洲va欧美va天堂v国产综合 | 亚洲成人在线视频播放 | 亚洲欧美久久 | 亚欧洲精品在线视频免费观看 | 成人伊人网 | 国产精品久久久久久久久久 | 久久精品国产一区 | 国产成人精品一区二区三区四区 | 亚洲午夜在线 |