多線程知識(shí)點(diǎn)

0708線程

多線程

pthread (了解庐杨,程序猿幾乎不用)

    // 創(chuàng)建線程
    pthread_t pthread;
    /*
    // 執(zhí)行線程參數(shù)
    // thread_t *restrict:線程的地址
    // const pthread_attr_t *restrict
    // void *(*)(void *) 指向函數(shù)的指針
    // void *restrict
    pthread_create(pthread_t *restrict, const pthread_attr_t *restrict, void *(*)(void *), void *restrict);
    */
    // 一般會(huì)這樣寫
    // run:指向函數(shù)的指針谴蔑,將需要執(zhí)行的代碼放入指向函數(shù)的指針中俭嘁。
    pthread_create(&thread, NULL, run, NULL);

  • 例圖



    QQ20150721-2@2x.png

NSThread (掌握)

  • NSThread 創(chuàng)建方式一

    // 創(chuàng)建線程
    NSThread *thread = [[NSThread allow] initWithTarget:self selector:@selector(run:) object:@"jack"];

    // 線程名稱
    thread.name = @"myThread";

    // 啟動(dòng)線程
    [thread strat];

  • 例圖


  • NSThread 創(chuàng)建方式二

    // 直接創(chuàng)建線程,調(diào)用run方法篮奄,參數(shù)為rose
    [NSThread detachNewThreadSelector:@selector(run:) toTarget:self withObject:@"rose"];

  • 例圖


  • 創(chuàng)建方式三

    // 直接創(chuàng)建線程霹肝,然后運(yùn)行叉袍,調(diào)用run方法,參數(shù)為rose
    [NSThread performSelectorInBackground:@selector(run:) withObject:@"jack"];

  • 例圖


  • 線程的狀態(tài)

  • 使線程延時(shí)然后運(yùn)行之后的程序


    // 線程延時(shí)兩秒運(yùn)行之后程序
    1.[NSThread sleepForTimeInterval:2];

    2.[NSThread sleepUntilDate:[NSDate dateWithTimeIntervalSinceNow:2]];

    // 延時(shí)到遙遠(yuǎn)的未來
    1.[NSThread sleepUntilDate:[NSDate distantFuture]];

    // 直接退出線程
    [NSThread exit];

    // 獲得當(dāng)前線程
    NSThread *current = [NSThread currentThread];

    // 主線程相關(guān)用法
    + (NSThread *)mainThread; // 獲得主線程
    - (BOOL)isMainThread; // 是否為主線程
    + (BOOL)isMainThread; // 是否為主線程

    // 獲取1970年到現(xiàn)在走過的時(shí)間
    CFTimeInterval end = CFAbsoluteTimeGetCurrent();

    // 獲取0時(shí)區(qū)當(dāng)前的時(shí)間
     NSDate *begin = [NSDate date];
  • 例圖


線程的安全

  • 互斥鎖使用格式

  • @synchronized(鎖對(duì)象) { // 需要鎖定的代碼 }
    注意:鎖定1份代碼只用1把鎖瘪阁,用多把鎖是無效的

  • 互斥鎖的使用前提:多條線程搶奪同一塊資源

  • 線程同步

  • 線程同步的意思是:多條線程在同一條線上執(zhí)行(按順序地執(zhí)行任務(wù))
    互斥鎖撒遣,就是使用了線程同步技術(shù)

  • 當(dāng)線程需要訪問同一區(qū)域的變量時(shí)就要考慮線程數(shù)據(jù)的安全性邮偎,使用互斥鎖來保證數(shù)據(jù)的安全性

  • 這里詳細(xì)說明太羅嗦,直接上代碼

加載網(wǎng)絡(luò)圖片

  • 加載方式二
     // 添加圖片網(wǎng)絡(luò)路徑
     NSURL *url = [NSURL URLWithString:@"http://bgimg1.meimei22.com/list/2015-4-23/1/013.jpg"];

     // 將文件路徑下得圖片包裝成對(duì)象
     NSData *date = [NSData dataWithContentsOfURL:url];

     // 將對(duì)象轉(zhuǎn)成imget圖片
     UIImage *image = [UIImaeg imageVithData:date];

     // 再將圖片給需要顯示的iamgeView
     imageView.image  = imaeg;

  • 例圖


  • 加載方式二

     // 加載圖片路徑
    NSURL *url = [NSURL URLWithString:@"http://bgimg1.meimei22.com/list/2015-4-23/1/013.jpg"];

     // 將圖片轉(zhuǎn)成對(duì)象
    NSData *date = [NSData dataWithContentsOfURL:url];

    UIImage *image = [UIImage imageWithData:date];

    // 進(jìn)入主線程加載圖片
    [self.image performSelector:@selector(setImage:) onThread:[NSThread mainThread] withObject:image waitUntilDone:NO];

  • 例圖


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末义黎,一起剝皮案震驚了整個(gè)濱河市禾进,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌廉涕,老刑警劉巖泻云,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異狐蜕,居然都是意外死亡宠纯,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門馏鹤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來征椒,“玉大人,你說我怎么就攤上這事湃累〔龋” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵治力,是天一觀的道長蒙秒。 經(jīng)常有香客問我,道長宵统,這世上最難降的妖魔是什么晕讲? 我笑而不...
    開封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮马澈,結(jié)果婚禮上瓢省,老公的妹妹穿的比我還像新娘。我一直安慰自己痊班,他們只是感情好勤婚,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著涤伐,像睡著了一般馒胆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上凝果,一...
    開封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天祝迂,我揣著相機(jī)與錄音,去河邊找鬼器净。 笑死型雳,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播四啰,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼宁玫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了柑晒?” 一聲冷哼從身側(cè)響起欧瘪,我...
    開封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎匙赞,沒想到半個(gè)月后佛掖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡涌庭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年芥被,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坐榆。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拴魄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出席镀,到底是詐尸還是另有隱情匹中,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布豪诲,位于F島的核電站顶捷,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏屎篱。R本人自食惡果不足惜服赎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望交播。 院中可真熱鬧重虑,春花似錦、人聲如沸秦士。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽伍宦。三九已至,卻和暖如春乏梁,著一層夾襖步出監(jiān)牢的瞬間次洼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來泰國打工遇骑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留卖毁,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像亥啦,于是被迫代替她去往敵國和親炭剪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 1 多線程介紹 多線程是現(xiàn)代編程領(lǐng)域不可繞開的話題翔脱,合理的運(yùn)行多線程能有效降低系統(tǒng)的開發(fā)與維護(hù)成本奴拦,同時(shí)顯著提升系...
    簡xiaoyao閱讀 435評(píng)論 0 1
  • Object C中創(chuàng)建線程的方法是什么?如果在主線程中執(zhí)行代碼届吁,方法是什么错妖?如果想延時(shí)執(zhí)行代碼、方法又是什么疚沐? 1...
    AlanGe閱讀 1,736評(píng)論 0 17
  • NSThread 第一種:通過NSThread的對(duì)象方法 NSThread *thread = [[NSThrea...
    攻城獅GG閱讀 797評(píng)論 0 3
  • 初中時(shí)開始上生物課暂氯,我的生物并不好,但有句話卻一直放在心上:物競天擇亮蛔,適者生存痴施。我也不知道那時(shí)候覺悟?yàn)槭裁磿?huì)那么高...
    少年青春的詩閱讀 606評(píng)論 13 13
  • 星星發(fā)光 我心發(fā)慌 手上風(fēng)箏迷失方向 霧靄聚散 我心難安 腳下道路何處天涯 我曾愛過 也曾癡過 現(xiàn)如今 唯有幡然悔過
    Carpe_diem__閱讀 292評(píng)論 0 0