1.同步+串行
1).所有任務(wù)都是在當(dāng)前線程(主線程)中執(zhí)行的恃轩,并沒有開啟新的線程(同步執(zhí)行不具備開啟新線程的能力)
2).所有任務(wù)都在打印的syncConcurrent---begin和syncConcurrent---end之間執(zhí)行(同步任務(wù)需要等待隊(duì)列的任務(wù)執(zhí)行結(jié)束)
3).任務(wù)是按順序執(zhí)行的(串行隊(duì)列每次只有一個(gè)任務(wù)被執(zhí)行藐吮,任務(wù)一個(gè)接一個(gè)按順序執(zhí)行)
2.同步+并行
1)所有任務(wù)都是在當(dāng)前線程(主線程)中執(zhí)行的踱蛀,沒有開啟新的線程(同步執(zhí)行不具備開啟新線程的能力)
2)所有任務(wù)都在打印的syncConcurrent---begin和syncConcurrent---end之間執(zhí)行的(同步任務(wù)需要等待隊(duì)列的任務(wù)執(zhí)行結(jié)束)
3)任務(wù)按順序執(zhí)行的。按順序執(zhí)行的原因:雖然并發(fā)隊(duì)列可以開啟多個(gè)線程,并且同時(shí)執(zhí)行多個(gè)任務(wù)。但是因?yàn)橥奖旧聿荒軇?chuàng)建新線程烙丛,只有當(dāng)前線程這一個(gè)線程(同步任務(wù)不具備開啟新線程的能力),所以也就不存在并發(fā)羔味。而且當(dāng)前線程只有等待當(dāng)前隊(duì)列中正在執(zhí)行的任務(wù)執(zhí)行完畢之后河咽,才能繼續(xù)接著執(zhí)行下面的操作(同步任務(wù)需要等待隊(duì)列的任務(wù)執(zhí)行結(jié)束)。所以任務(wù)只能一個(gè)接一個(gè)按順序執(zhí)行赋元,不能同時(shí)被執(zhí)行
3.異步+串行
1)開啟了一條新線程(異步執(zhí)行具備開啟新線程的能力忘蟹,串行隊(duì)列只開啟一個(gè)線程)
2)所有任務(wù)是在打印的syncConcurrent---begin和syncConcurrent---end之后才開始執(zhí)行的(異步執(zhí)行不會(huì)做任何等待飒房,可以繼續(xù)執(zhí)行任務(wù))
3)任務(wù)是按順序執(zhí)行的(串行隊(duì)列每次只有一個(gè)任務(wù)被執(zhí)行,任務(wù)一個(gè)接一個(gè)按順序執(zhí)行)
4.異步+并行
1)除了當(dāng)前線程(主線程)媚值,系統(tǒng)又開啟了3個(gè)線程狠毯,并且任務(wù)是交替/同時(shí)執(zhí)行的。(異步執(zhí)行具備開啟新線程的能力褥芒。且并發(fā)隊(duì)列可開啟多個(gè)線程嚼松,同時(shí)執(zhí)行多個(gè)任務(wù))
2)所有任務(wù)是在打印的syncConcurrent---begin和syncConcurrent---end之后才執(zhí)行的。說明當(dāng)前線程沒有等待锰扶,而是直接開啟了新線程献酗,在新線程中執(zhí)行任務(wù)(異步執(zhí)行不做等待,可以繼續(xù)執(zhí)行任務(wù))