NSThread的使用

jopen 8年前發布 | 5K 次閱讀 iOS開發 移動開發

創建和啟動線程

  •  一個NSThread對象就代表一條線程
  • 創建和啟動線程
  • </ul>

    NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil];
    [thread start];
    // 線程一啟動,就會在線程thread中執行self的run方法

    • 主線程相關用法
    • </ul>

      + (NSThread *)mainThread; // 獲得主線程
      - (BOOL)isMainThread; // 是否為主線程
      + (BOOL)isMainThread; // 是否為主線程

      • 獲取當前線程
      • </ul>

        NSThread *current = [NSThread currentThread];

        • 線程調度的優先級
        • </ul>

          + (double)threadPriority;
          + (BOOL)setThreadPriority:(double)p;
          - (double)threadPriority;
          - (BOOL)setThreadPriority:(double)p;
          調度優先級的取值范圍是0.0 ~ 1.0,默認0.5,值越大,優先級越高

          • 線程的名字
          • </ul>

            - (void)setName:(NSString *)n;
            - (NSString *)name;

            其他創建線程的方式

            • 創建線程后自動啟動線程
            • </ul>

              [NSThread detachNewThreadSelector:@selector(run) toTarget:self withObject:nil];

              • 隱式創建線程
              • </ul>

                [self performSelectorInBackground:@selector(run) withObject:nil];

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!