多線程的使用(3) - NSOperation的併發與非併發

NSoperation也是多線程的一種,NSopertaion有2種形式
  (1) 併發執行
       併發執行你需要重載如下4個方法
     //執行任務主函數,線程運行的入口函數
    - (void)start 
       //是否允許併發,返回YES,允許併發,返回NO不允許。默認返回NO
    -(BOOL)isConcurrent 
    - (BOOL)isExecuting
     //是否已經完成,這個必須要重載,不然放在放在NSOperationQueue裏的NSOpertaion不能正常釋放。
   - (BOOL)isFinished
   
   比如TestNSOperation:NSoperaion 重載上述的4個方法,
   聲明一個NSOperationQueue, NSOperationQueue *queue = [[[NSOperationQueue alloc ] init] autorelease];
  [queue addOperation:testNSoperation];
  它會自動調用TestNSOperation裏的 start函數,如果需要多個NSOperation,你需要設置queue的一些屬性,如果多個NSOperation之間又依賴關係,也可以設置,具體可以參考API 文檔。 
 
(2)非併發執行
  -(void)main
   只需要重載這個main方法就可以了。 
詳細可以參考之前的:多線程的使用(1,2)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章