国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

dispatch_async&dispatch_sync

2019-11-14 20:37:15
字體:
供稿:網(wǎng)友

Clear that!

 

dispatch_async 是將block發(fā)送到指定線程去執(zhí)行,當(dāng)前線程不會等待,會繼續(xù)向下執(zhí)行。

dispatch_sync 也是將block發(fā)送到指定的線程去執(zhí)行,但是當(dāng)前的線程會阻塞,等待block在指定線程執(zhí)行完成后才會繼續(xù)向下執(zhí)行。

 

所以為什么 dispatch_sync 使用不當(dāng)時,容易對當(dāng)前線程造成死鎖就容易分析了~

 

dispatch_sync 和 dispatch_async 將block加入到指定線程中后,指定線程都是串行執(zhí)行的,既FIFO。 所以說 dispatch_sync(queue, ^{}); 這句代碼還是有意義的~ 會阻塞當(dāng)前線程等待queue中的所有任務(wù)執(zhí)行完成后再向下執(zhí)行。

 

不過暫時俺還沒有碰到有必要使用 dispatch_sync 的地方, 看了網(wǎng)上說的 “數(shù)據(jù)庫需要并發(fā)I/O的時候dispatch_sync” ,還是不大了解是什么個場景~ 期待大神點撥。。。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 临沂市| 山东| 井研县| 安顺市| 新乐市| 贵定县| 宁阳县| 苗栗市| 七台河市| 蓝田县| 邳州市| 公安县| 吴桥县| 珠海市| 沈丘县| 读书| 潞西市| 峨边| 永善县| 龙岩市| 昌平区| 楚雄市| 泗洪县| 新泰市| 咸阳市| 同江市| 全州县| 甘孜| 石泉县| 荥经县| 广德县| 建平县| 东安县| 崇左市| 丁青县| 黔西| 正镶白旗| 巴马| 浠水县| 确山县| 庐江县|