自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

解析在iPhone應用中NSThread創(chuàng)建Run Loop

移動開發(fā) iOS
IPhone多線程編程提議用NSOperation和NSOperationQueue,這個確實很好用。但是有些情況下,我們還是在運行一些長線任務或者復雜任務的時候需要用比較原始的NSThread。來看內(nèi)容。

iPhone應用中NSThread創(chuàng)建Run Loop是本文要介紹的內(nèi)容,雖然iphone為我們提供了很多簡單易于操作的線程方法。IPhone多線程編程提議用NSOperation和NSOperationQueue,這個確實很好用。但是有些情況下,我們還是在運行一些長線任務或者復雜任務的時候需要用比較原始的NSThread。這就需要為NSThread創(chuàng)建一個run loop.

  1. NSThread *thread1 = [[NSThread alloc] initWithTarget:self selector:@selector(playerThread: ) object:nil];  
  2. [thread start];  
  3. //如果要利用NSOperation,原理類似。只需要加入到queue里面去就好了。。queue會在合適的時機調(diào)用方法,下面代碼作為參考。  
  4. - (void) playerThread: (void*)unused   
  5. {   
  6. audioRunLoop = CFRunLoopGetCurrent();//子線程的runloop引用  
  7. NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];//子線程的  
  8. run loop [self initPlayer]; CFRunLoopRun(); //運行子線程的  
  9. run loop,這里就會停住了。 [pool release];  
  10. }  
  11.  // 實現(xiàn)一個timer,用于檢查子線程的工作狀態(tài),并在合適的時候做任務切換?;蛘呤呛线m的時候停掉自己的  
  12.  run loop-(void) initPlayer {   
  13.  // 在這里你可以初始化一個工作類,比如聲音或者視頻播放   
  14.  NSTimer *stateChange = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:  
  15.    @selector(checkStatuserInfo:nil repeats:YES];  
  16.  }  
  17.  -(void) checkState:(NSTimer*) timer   
  18.  {   
  19.  if(需要退出自線程了) {  
  20.  //釋放子線程里面的資源  
  21.  CFRunLoopStop( CFRunLoopGetCurrent());//結(jié)束子線程任務  
  22.  }   

小結(jié):解析在iPhone應用中NSThread創(chuàng)建run loop的內(nèi)容介紹完了,希望本文對你有所幫助!

【編輯推薦】

  1. 關(guān)于iPhone多線程編程的教程
  2. iPhone游戲開發(fā)者需知6點建議
  3. iPhone開發(fā)應用之Archiving NSCoder教程
  4. iPhone開發(fā)應用中關(guān)于CFRunLoop學習
  5. 關(guān)于iPhone開發(fā)類NSDate常用代碼案例

 

責任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2013-08-21 16:17:09

iPhone多線程

2010-11-05 13:02:58

內(nèi)存iPhone

2013-07-16 11:38:46

iOS多線程多線程概念GCD

2011-07-27 14:56:07

iPhone Makefile Dylib

2011-08-12 14:54:45

iPhone委托

2011-08-19 13:45:14

iPhone應用iPhone OS數(shù)據(jù)

2022-04-18 08:34:29

回調(diào)函數(shù)命令解析

2011-08-02 17:27:06

iPhone應用 剪切技巧

2011-08-10 17:37:00

iPhoneASIHTTPRequ

2011-08-02 17:14:41

iPhone應用 UITableVie

2010-05-06 16:30:49

Oracle for

2011-07-27 17:02:12

Xcode iPhone 單元測試

2011-07-26 14:18:20

2011-08-22 14:12:48

iPhone開發(fā)NSTableView

2011-08-15 11:37:20

iPhone開發(fā)Mask

2011-09-15 15:58:37

iPhone應用Quick Snap拍攝工具

2011-08-09 17:12:30

iPhoneCFRunLoop

2011-08-12 14:33:06

iPhone緩存文件

2011-08-15 15:44:46

iPhone開發(fā)PDF

2011-08-18 16:24:44

iPhone開發(fā)圖片
點贊
收藏

51CTO技術(shù)棧公眾號