多線程 線程入口完善方法

#import "ViewController.h"

@interface ViewController ()
{
    NSThread *thread;
}
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    //創(chuàng)建線程
    thread = [[NSThread alloc] initWithTarget:self selector:@selector(threadAction) object:nil];
    
    //設置名字
    thread.name = @"hehe";
    
    //啟動線程
    [thread start];
    
   
    
}

//線程的入口方法
/*完善線程入口方法的三點
 1.創(chuàng)建自動釋放池 釋放開辟的內存
 2.設置runloop
 3.停止runloop招拙,終止線程
 */
-(void)threadAction
{
    //1.創(chuàng)建自動釋放池 釋放開辟的內存
    @autoreleasepool {
        
        //延時調用
//        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
//            [NSThread exit];
//        });
        
        
        //使當前線程任務持續(xù)執(zhí)行 兩種方式
        //第一種方式while循序
//        while (1) {
//            NSLog(@"123...");
//        }
        
        //第二種:開啟runloop 子線程中runloop默認是關閉的,開啟runloop必須要有事件源
        
        //創(chuàng)建timer定時器
        NSTimer *timer = [NSTimer timerWithTimeInterval:1 target:self selector:@selector(timer) userInfo:nil repeats:YES];
        
        //將timer添加到runloop中
        [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
        
        //2.開啟runloop 使用run的方式 無法停止runloop
//        [[NSRunLoop currentRunLoop] run];
        
        //開啟runloop 運行到某個時間點停止runloop 并且?guī)в羞\行模式
//        [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:5]];
        
        //開啟runloop 運行到某個時間點停止
//        [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:10]];
        
        //3.終止runloop的方式
//        [[[NSThread currentThread] threadDictionary] setValue:@(NO) forKey:@"isExit"];
        //獲取線程字典屬性  目的:記錄當前前程是否退出的狀態(tài)
        NSMutableDictionary *threadDictionary =[[NSThread currentThread] threadDictionary];
        
        BOOL exit = NO;
        
        [threadDictionary setValue:@(exit) forKey:@"isExit"];
        
        //while循環(huán)判斷 根據(jù)線程中字典屬性判斷
        while (!exit) {
            
            [[NSRunLoop currentRunLoop] runUntilDate:[NSDate date]];
            
            exit = [[threadDictionary objectForKey:@"isExit"] boolValue];
        }
    }


}

-(void)timer
{
    NSLog(@"hehe");
}

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    //觸摸屏幕時停止線程任務
    [thread.threadDictionary setValue:@(YES) forKey:@"isExit"];
    
    
}

@end
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末措译,一起剝皮案震驚了整個濱河市别凤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌领虹,老刑警劉巖规哪,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異塌衰,居然都是意外死亡诉稍,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門最疆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來杯巨,“玉大人,你說我怎么就攤上這事努酸》” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長仍源。 經常有香客問我心褐,道長,這世上最難降的妖魔是什么笼踩? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任逗爹,我火速辦了婚禮,結果婚禮上戳表,老公的妹妹穿的比我還像新娘桶至。我一直安慰自己,他們只是感情好匾旭,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布镣屹。 她就那樣靜靜地躺著,像睡著了一般价涝。 火紅的嫁衣襯著肌膚如雪女蜈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天色瘩,我揣著相機與錄音伪窖,去河邊找鬼。 笑死居兆,一個胖子當著我的面吹牛覆山,可吹牛的內容都是我干的。 我是一名探鬼主播泥栖,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼簇宽,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了吧享?” 一聲冷哼從身側響起魏割,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎钢颂,沒想到半個月后钞它,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡殊鞭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年遭垛,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钱豁。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡耻卡,死狀恐怖,靈堂內的尸體忽然破棺而出牲尺,到底是詐尸還是另有隱情卵酪,我是刑警寧澤幌蚊,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站溃卡,受9級特大地震影響溢豆,放射性物質發(fā)生泄漏。R本人自食惡果不足惜瘸羡,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一漩仙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧犹赖,春花似錦队他、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至粘昨,卻和暖如春垢啼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背张肾。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工芭析, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人吞瞪。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓馁启,卻偏偏與公主長得像,于是被迫代替她去往敵國和親芍秆。 傳聞我的和親對象是個殘疾皇子进统,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內容