背景1
假设我们有这么一个需求,在一个页面中,有A,B,C三个网络请求的方法,我们需要在三个网络请求都执行完毕之后,在执行刷新UI的方法。那么我们可以这么做~代码如下:
-(void)dispatchAsyncWithoutOrder
{
///该方式不会保证前面三个执行顺序,但是dispatch_group_notify一定是最后执行
dispatch_group_t group = dispatch_group_create();
dispatch_queue_t queue = dispatch_queue_create("com.gcd-group.www", DISPATCH_QUEUE_CONCURRENT);
dispatch_group_async(group, queue, ^{
for (int i = 0; i < 100; i++) {
NSLog(@"第一个%d",i);
}
});
dispatch_group_async(group, queue, ^{
for (int i = 0; i < 10; i++) {
NSLog(@"第二个%d",i);
}
});
dispatch_group_async(group, queue, ^{
for (int i = 0; i < 40; i++) {
NSLog(@"第三个%d",i);
}
});
dispatch_group_notify(group, queue, ^{
NSLog(@"结束了");
});
}
dispatch_group是GCD(Grand Central Dispatch)中的一组方法,相同于一个组,我们可以把相关联的任务放到这个组中,其中,需要注意的是,dispatch_group_creat用于创建任务组,dispatch_queue_create用于创建队列. dispatch_group_async就是我们的任务队列,当所有的任务完成之后,dispatch_group_notify便会被调用,我们在这里转变线程或者处理其他事务 ~总之还是比较简单的
打印结果:
2018-12-07 17:20:07.368940+0800 多线程[61291:4225294] 第一个0
2018-12-07 17:20:07.368940+0800 多线程[61291:4225297] 第二个0
2018-12-07 17:20:07.368966+0800 多线程[61291:4225295] 第三个0
2018-12-07 17:20:07.369132+0800 多线程[61291:4225295] 第三个1
2018-12-07 17:20:07.369148+0800 多线程[61291:4225294] 第一个1
2018-12-07 17:20:07.369133+0800 多线程[61291:4225297] 第二个1
2018-12-07 17:20:07.369203+0800 多线程[61291:4225295] 第三个2
2018-12-07 17:20:07.369215+0800 多线程[61291:4225297] 第二个2
2018-12-07 17:20:07.369230+0800 多线程[61291:4225294] 第一个2
2018-12-07 17:20:07.369272+0800 多线程[61291:4225295] 第三个3
2018-12-07 17:20:07.370084+0800 多线程[61291:4225297] 第二个3
2018-12-07 17:20:07.370257+0800 多线程[61291:4225295] 第三个4
2018-12-07 17:20:07.370357+0800 多线程[61291:4225294] 第一个3
2018-12-07 17:20:07.370695+0800 多线程[61291:4225297] 第二个4
2018-12-07 17:20:07.370801+0800 多线程[61291:4225295] 第三个5
2018-12-07 17:20:07.370934+0800 多线程[61291:4225294] 第一个4
2018-12-07 17:20:07.371098+0800 多线程[61291:4225295] 第三个6
2018-12-07 17:20:07.371375+0800 多线程[61291:4225294] 第一个5
2018-12-07 17:20:07.371491+0800 多线程[61291:4225295] 第三个7
2018-12-07 17:20:07.371623+0800 多线程[61291:4225294] 第一个6
2018-12-07 17:20:07.371759+0800 多线程[61291:4225295] 第三个8
2018-12-07 17:20:07.371894+0800 多线程[61291:4225294] 第一个7
2018-12-07 17:20:07.372036+0800 多线程[61291:4225295] 第三个9
2018-12-07 17:20:07.372184+0800 多线程[61291:4225294] 第一个8
2018-12-07 17:20:07.372331+0800 多线程[61291:4225295] 第三个10
2018-12-07 17:20:07.372447+0800 多线程[61291:4225294] 第一个9
2018-12-07 17:20:07.372555+0800 多线程[61291:4225295] 第三个11
2018-12-07 17:20:07.372679+0800 多线程[61291:4225297] 第二个5
2018-12-07 17:20:07.375648+0800 多线程[61291:4225294] 第一个10
2018-12-07 17:20:07.375655+0800 多线程[61291:4225295] 第三个12
2018-12-07 17:20:07.375712+0800 多线程[61291:4225297] 第二个6
2018-12-07 17:20:07.375822+0800 多线程[61291:4225294] 第一个11
2018-12-07 17:20:07.375839+0800 多线程[61291:4225295] 第三个13
2018-12-07 17:20:07.375878+0800 多线程[61291:4225297] 第二个7
2018-12-07 17:20:07.376055+0800 多线程[61291:4225294] 第一个12
2018-12-07 17:20:07.376277+0800 多线程[61291:4225295] 第三个14
2018-12-07 17:20:07.376434+0800 多线程[61291:4225294] 第一个13
2018-12-07 17:20:07.376583+0800 多线程[61291:4225295] 第三个15
2018-12-07 17:20:07.376737+0800 多线程[61291:4225294] 第一个14
2018-12-07 17:20:07.376861+0800 多线程[61291:4225297] 第二个8
2018-12-07 17:20:07.376974+0800 多线程[61291:4225294] 第一个15
2018-12-07 17:20:07.377165+0800 多线程[61291:4225295] 第三个16
2018-12-07 17:20:07.377324+0800 多线程[61291:4225294] 第一个16
2018-12-07 17:20:07.377480+0800 多线程[61291:4225295] 第三个17
2018-12-07 17:20:07.377611+0800 多线程[61291:4225294] 第一个17
2018-12-07 17:20:07.377746+0800 多线程[61291:4225295] 第三个18
2018-12-07 17:20:07.377984+0800 多线程[61291:4225294] 第一个18
2018-12-07 17:20:07.378145+0800 多线程[61291:4225295] 第三个19
2018-12-07 17:20:07.378278+0800 多线程[61291:4225294] 第一个19
2018-12-07 17:20:07.378445+0800 多线程[61291:4225295] 第三个20
2018-12-07 17:20:07.378603+0800 多线程[61291:4225294] 第一个20
2018-12-07 17:20:07.378730+0800 多线程[61291:4225297] 第二个9
2018-12-07 17:20:07.378907+0800 多线程[61291:4225294] 第一个21
2018-12-07 17:20:07.379256+0800 多线程[61291:4225294] 第一个22
2018-12-07 17:20:07.379396+0800 多线程[61291:4225295] 第三个21
2018-12-07 17:20:07.379506+0800 多线程[61291:4225294] 第一个23
2018-12-07 17:20:07.379685+0800 多线程[61291:4225295] 第三个22
2018-12-07 17:20:07.380034+0800 多线程[61291:4225295] 第三个23
2018-12-07 17:20:07.380075+0800 多线程[61291:4225294] 第一个24
2018-12-07 17:20:07.380170+0800 多线程[61291:4225295] 第三个24
2018-12-07 17:20:07.380320+0800 多线程[61291:4225294] 第一个25
2018-12-07 17:20:07.380464+0800 多线程[61291:4225295] 第三个25
2018-12-07 17:20:07.380624+0800 多线程[61291:4225294] 第一个26
2018-12-07 17:20:07.380735+0800 多线程[61291:4225295] 第三个26
2018-12-07 17:20:07.380898+0800 多线程[61291:4225294] 第一个27
2018-12-07 17:20:07.381039+0800 多线程[61291:4225295] 第三个27
2018-12-07 17:20:07.381172+0800 多线程[61291:4225294] 第一个28
2018-12-07 17:20:07.381914+0800 多线程[61291:4225295] 第三个28
2018-12-07 17:20:07.382220+0800 多线程[61291:4225294] 第一个29
2018-12-07 17:20:07.382538+0800 多线程[61291:4225295] 第三个29
2018-12-07 17:20:07.382802+0800 多线程[61291:4225294] 第一个30
2018-12-07 17:20:07.383370+0800 多线程[61291:4225294] 第一个31
2018-12-07 17:20:07.383379+0800 多线程[61291:4225295] 第三个30
2018-12-07 17:20:07.383808+0800 多线程[61291:4225294] 第一个32
2018-12-07 17:20:07.384117+0800 多线程[61291:4225295] 第三个31
2018-12-07 17:20:07.384334+0800 多线程[61291:4225294] 第一个33
2018-12-07 17:20:07.384525+0800 多线程[61291:4225295] 第三个32
2018-12-07 17:20:07.384746+0800 多线程[61291:4225294] 第一个34
2018-12-07 17:20:07.385050+0800 多线程[61291:4225295] 第三个33
2018-12-07 17:20:07.385295+0800 多线程[61291:4225294] 第一个35
2018-12-07 17:20:07.385604+0800 多线程[61291:4225295] 第三个34
2018-12-07 17:20:07.386088+0800 多线程[61291:4225294] 第一个36
2018-12-07 17:20:07.386138+0800 多线程[61291:4225295] 第三个35
2018-12-07 17:20:07.386475+0800 多线程[61291:4225295] 第三个36
2018-12-07 17:20:07.386672+0800 多线程[61291:4225294] 第一个37
2018-12-07 17:20:07.386922+0800 多线程[61291:4225295] 第三个37
2018-12-07 17:20:07.387107+0800 多线程[61291:4225294] 第一个38
2018-12-07 17:20:07.387313+0800 多线程[61291:4225295] 第三个38
2018-12-07 17:20:07.387515+0800 多线程[61291:4225294] 第一个39
2018-12-07 17:20:07.387846+0800 多线程[61291:4225295] 第三个39
2018-12-07 17:20:07.388924+0800 多线程[61291:4225294] 第一个40
2018-12-07 17:20:07.389297+0800 多线程[61291:4225294] 第一个41
2018-12-07 17:20:07.389865+0800 多线程[61291:4225294] 第一个42
2018-12-07 17:20:07.390039+0800 多线程[61291:4225294] 第一个43
2018-12-07 17:20:07.390148+0800 多线程[61291:4225294] 第一个44
2018-12-07 17:20:07.390395+0800 多线程[61291:4225294] 第一个45
2018-12-07 17:20:07.390625+0800 多线程[61291:4225294] 第一个46
2018-12-07 17:20:07.390996+0800 多线程[61291:4225294] 第一个47
2018-12-07 17:20:07.391285+0800 多线程[61291:4225294] 第一个48
2018-12-07 17:20:07.391635+0800 多线程[61291:4225294] 第一个49
2018-12-07 17:20:07.391780+0800 多线程[61291:4225294] 第一个50
2018-12-07 17:20:07.392031+0800 多线程[61291:4225294] 第一个51
2018-12-07 17:20:07.392306+0800 多线程[61291:4225294] 第一个52
2018-12-07 17:20:07.392571+0800 多线程[61291:4225294] 第一个53
2018-12-07 17:20:07.392816+0800 多线程[61291:4225294] 第一个54
2018-12-07 17:20:07.393086+0800 多线程[61291:4225294] 第一个55
2018-12-07 17:20:07.393328+0800 多线程[61291:4225294] 第一个56
2018-12-07 17:20:07.393581+0800 多线程[61291:4225294] 第一个57
2018-12-07 17:20:07.393926+0800 多线程[61291:4225294] 第一个58
2018-12-07 17:20:07.394181+0800 多线程[61291:4225294] 第一个59
2018-12-07 17:20:07.394459+0800 多线程[61291:4225294] 第一个60
2018-12-07 17:20:07.394793+0800 多线程[61291:4225294] 第一个61
2018-12-07 17:20:07.395056+0800 多线程[61291:4225294] 第一个62
2018-12-07 17:20:07.395350+0800 多线程[61291:4225294] 第一个63
2018-12-07 17:20:07.395629+0800 多线程[61291:4225294] 第一个64
2018-12-07 17:20:07.395847+0800 多线程[61291:4225294] 第一个65
2018-12-07 17:20:07.396210+0800 多线程[61291:4225294] 第一个66
2018-12-07 17:20:07.396433+0800 多线程[61291:4225294] 第一个67
2018-12-07 17:20:07.396755+0800 多线程[61291:4225294] 第一个68
2018-12-07 17:20:07.397008+0800 多线程[61291:4225294] 第一个69
2018-12-07 17:20:07.397355+0800 多线程[61291:4225294] 第一个70
2018-12-07 17:20:07.397644+0800 多线程[61291:4225294] 第一个71
2018-12-07 17:20:07.397899+0800 多线程[61291:4225294] 第一个72
2018-12-07 17:20:07.398181+0800 多线程[61291:4225294] 第一个73
2018-12-07 17:20:07.398456+0800 多线程[61291:4225294] 第一个74
2018-12-07 17:20:07.398811+0800 多线程[61291:4225294] 第一个75
2018-12-07 17:20:07.399119+0800 多线程[61291:4225294] 第一个76
2018-12-07 17:20:07.399454+0800 多线程[61291:4225294] 第一个77
2018-12-07 17:20:07.399709+0800 多线程[61291:4225294] 第一个78
2018-12-07 17:20:07.399994+0800 多线程[61291:4225294] 第一个79
2018-12-07 17:20:07.400244+0800 多线程[61291:4225294] 第一个80
2018-12-07 17:20:07.400502+0800 多线程[61291:4225294] 第一个81
2018-12-07 17:20:07.400775+0800 多线程[61291:4225294] 第一个82
2018-12-07 17:20:07.401019+0800 多线程[61291:4225294] 第一个83
2018-12-07 17:20:07.401330+0800 多线程[61291:4225294] 第一个84
2018-12-07 17:20:07.401610+0800 多线程[61291:4225294] 第一个85
2018-12-07 17:20:07.401992+0800 多线程[61291:4225294] 第一个86
2018-12-07 17:20:07.402252+0800 多线程[61291:4225294] 第一个87
2018-12-07 17:20:07.402650+0800 多线程[61291:4225294] 第一个88
2018-12-07 17:20:07.402892+0800 多线程[61291:4225294] 第一个89
2018-12-07 17:20:07.403137+0800 多线程[61291:4225294] 第一个90
2018-12-07 17:20:07.403432+0800 多线程[61291:4225294] 第一个91
2018-12-07 17:20:07.403695+0800 多线程[61291:4225294] 第一个92
2018-12-07 17:20:07.403997+0800 多线程[61291:4225294] 第一个93
2018-12-07 17:20:07.404284+0800 多线程[61291:4225294] 第一个94
2018-12-07 17:20:07.404570+0800 多线程[61291:4225294] 第一个95
2018-12-07 17:20:07.404910+0800 多线程[61291:4225294] 第一个96
2018-12-07 17:20:07.405150+0800 多线程[61291:4225294] 第一个97
2018-12-07 17:20:07.405418+0800 多线程[61291:4225294] 第一个98
2018-12-07 17:20:07.405672+0800 多线程[61291:4225294] 第一个99
2018-12-07 17:20:07.406015+0800 多线程[61291:4225294] 结束了
背景2
我们有4个任务 A B C D,我们需要他们按照顺序(A->B->C->D)执行,那我们该如何处理呢?那么我们可以使用dispatch_barrier 代码献上~~~
dispatch_queue_t queue = dispatch_queue_create("com.gcd-group.www", DISPATCH_QUEUE_CONCURRENT);
dispatch_async(queue, ^{
for (int i = 0; i < 100; i++) {
NSLog(@"第一个%d",i);
}
});
dispatch_barrier_async(queue, ^{
NSLog(@"1结束");
});
dispatch_async(queue, ^{
for (int i = 0; i < 10; i++) {
NSLog(@"第二个%d",i);
}
});
dispatch_barrier_async(queue, ^{
NSLog(@"2结束");
});
dispatch_async(queue, ^{
for (int i = 0; i < 10; i++) {
NSLog(@"第三个%d",i);
}
});
dispatch_barrier_async(queue, ^{
NSLog(@"3结束");
});
dispatch_async(queue, ^{
NSLog(@"结束了");
});
**在这里 dispatch_barrier是删栏,就像它的名字一样,
在Effective Objective-C 2.0是这样描述的。也就是说,barrier会等待之前面的任务处理完毕之后才回去初本身block中内容,等本身处理完毕之后,程序才会继续往下走。
**
打印结果
2018-12-07 16:43:42.742719+0800 多线程[60718:4172004] 第一个0
2018-12-07 16:43:42.742859+0800 多线程[60718:4172004] 第一个1
2018-12-07 16:43:42.742935+0800 多线程[60718:4172004] 第一个2
2018-12-07 16:43:42.743006+0800 多线程[60718:4172004] 第一个3
2018-12-07 16:43:42.743084+0800 多线程[60718:4172004] 第一个4
2018-12-07 16:43:42.743650+0800 多线程[60718:4172004] 第一个5
2018-12-07 16:43:42.743723+0800 多线程[60718:4172004] 第一个6
2018-12-07 16:43:42.744320+0800 多线程[60718:4172004] 第一个7
2018-12-07 16:43:42.744417+0800 多线程[60718:4172004] 第一个8
2018-12-07 16:43:42.744494+0800 多线程[60718:4172004] 第一个9
2018-12-07 16:43:42.744572+0800 多线程[60718:4172004] 第一个10
2018-12-07 16:43:42.744648+0800 多线程[60718:4172004] 第一个11
2018-12-07 16:43:42.744724+0800 多线程[60718:4172004] 第一个12
2018-12-07 16:43:42.744800+0800 多线程[60718:4172004] 第一个13
2018-12-07 16:43:42.744873+0800 多线程[60718:4172004] 第一个14
2018-12-07 16:43:42.745173+0800 多线程[60718:4172004] 第一个15
2018-12-07 16:43:42.745393+0800 多线程[60718:4172004] 第一个16
2018-12-07 16:43:42.745614+0800 多线程[60718:4172004] 第一个17
2018-12-07 16:43:42.745963+0800 多线程[60718:4172004] 第一个18
2018-12-07 16:43:42.747721+0800 多线程[60718:4172004] 第一个19
2018-12-07 16:43:42.747819+0800 多线程[60718:4172004] 第一个20
2018-12-07 16:43:42.747898+0800 多线程[60718:4172004] 第一个21
2018-12-07 16:43:42.747981+0800 多线程[60718:4172004] 第一个22
2018-12-07 16:43:42.748048+0800 多线程[60718:4172004] 第一个23
2018-12-07 16:43:42.748110+0800 多线程[60718:4172004] 第一个24
2018-12-07 16:43:42.748279+0800 多线程[60718:4172004] 第一个25
2018-12-07 16:43:42.748542+0800 多线程[60718:4172004] 第一个26
2018-12-07 16:43:42.748888+0800 多线程[60718:4172004] 第一个27
2018-12-07 16:43:42.748985+0800 多线程[60718:4172004] 第一个28
2018-12-07 16:43:42.749186+0800 多线程[60718:4172004] 第一个29
2018-12-07 16:43:42.749373+0800 多线程[60718:4172004] 第一个30
2018-12-07 16:43:42.749568+0800 多线程[60718:4172004] 第一个31
2018-12-07 16:43:42.749752+0800 多线程[60718:4172004] 第一个32
2018-12-07 16:43:42.749989+0800 多线程[60718:4172004] 第一个33
2018-12-07 16:43:42.750636+0800 多线程[60718:4172004] 第一个34
2018-12-07 16:43:42.750812+0800 多线程[60718:4172004] 第一个35
2018-12-07 16:43:42.750921+0800 多线程[60718:4172004] 第一个36
2018-12-07 16:43:42.751379+0800 多线程[60718:4172004] 第一个37
2018-12-07 16:43:42.751564+0800 多线程[60718:4172004] 第一个38
2018-12-07 16:43:42.751807+0800 多线程[60718:4172004] 第一个39
2018-12-07 16:43:42.752027+0800 多线程[60718:4172004] 第一个40
2018-12-07 16:43:42.752285+0800 多线程[60718:4172004] 第一个41
2018-12-07 16:43:42.752489+0800 多线程[60718:4172004] 第一个42
2018-12-07 16:43:42.752766+0800 多线程[60718:4172004] 第一个43
2018-12-07 16:43:42.752997+0800 多线程[60718:4172004] 第一个44
2018-12-07 16:43:42.753241+0800 多线程[60718:4172004] 第一个45
2018-12-07 16:43:42.753484+0800 多线程[60718:4172004] 第一个46
2018-12-07 16:43:42.753739+0800 多线程[60718:4172004] 第一个47
2018-12-07 16:43:42.753970+0800 多线程[60718:4172004] 第一个48
2018-12-07 16:43:42.754251+0800 多线程[60718:4172004] 第一个49
2018-12-07 16:43:42.754607+0800 多线程[60718:4172004] 第一个50
2018-12-07 16:43:42.754855+0800 多线程[60718:4172004] 第一个51
2018-12-07 16:43:42.755471+0800 多线程[60718:4172004] 第一个52
2018-12-07 16:43:42.755566+0800 多线程[60718:4172004] 第一个53
2018-12-07 16:43:42.755699+0800 多线程[60718:4172004] 第一个54
2018-12-07 16:43:42.755858+0800 多线程[60718:4172004] 第一个55
2018-12-07 16:43:42.756422+0800 多线程[60718:4172004] 第一个56
2018-12-07 16:43:42.756788+0800 多线程[60718:4172004] 第一个57
2018-12-07 16:43:42.757180+0800 多线程[60718:4172004] 第一个58
2018-12-07 16:43:42.757494+0800 多线程[60718:4172004] 第一个59
2018-12-07 16:43:42.757880+0800 多线程[60718:4172004] 第一个60
2018-12-07 16:43:42.758177+0800 多线程[60718:4172004] 第一个61
2018-12-07 16:43:42.758488+0800 多线程[60718:4172004] 第一个62
2018-12-07 16:43:42.758874+0800 多线程[60718:4172004] 第一个63
2018-12-07 16:43:42.759105+0800 多线程[60718:4172004] 第一个64
2018-12-07 16:43:42.759520+0800 多线程[60718:4172004] 第一个65
2018-12-07 16:43:42.759787+0800 多线程[60718:4172004] 第一个66
2018-12-07 16:43:42.760160+0800 多线程[60718:4172004] 第一个67
2018-12-07 16:43:42.760532+0800 多线程[60718:4172004] 第一个68
2018-12-07 16:43:42.760889+0800 多线程[60718:4172004] 第一个69
2018-12-07 16:43:42.761269+0800 多线程[60718:4172004] 第一个70
2018-12-07 16:43:42.761512+0800 多线程[60718:4172004] 第一个71
2018-12-07 16:43:42.761806+0800 多线程[60718:4172004] 第一个72
2018-12-07 16:43:42.762041+0800 多线程[60718:4172004] 第一个73
2018-12-07 16:43:42.762279+0800 多线程[60718:4172004] 第一个74
2018-12-07 16:43:42.762585+0800 多线程[60718:4172004] 第一个75
2018-12-07 16:43:42.762875+0800 多线程[60718:4172004] 第一个76
2018-12-07 16:43:42.763304+0800 多线程[60718:4172004] 第一个77
2018-12-07 16:43:42.763527+0800 多线程[60718:4172004] 第一个78
2018-12-07 16:43:42.763816+0800 多线程[60718:4172004] 第一个79
2018-12-07 16:43:42.764178+0800 多线程[60718:4172004] 第一个80
2018-12-07 16:43:42.764580+0800 多线程[60718:4172004] 第一个81
2018-12-07 16:43:42.764823+0800 多线程[60718:4172004] 第一个82
2018-12-07 16:43:42.765078+0800 多线程[60718:4172004] 第一个83
2018-12-07 16:43:42.765306+0800 多线程[60718:4172004] 第一个84
2018-12-07 16:43:42.765591+0800 多线程[60718:4172004] 第一个85
2018-12-07 16:43:42.765971+0800 多线程[60718:4172004] 第一个86
2018-12-07 16:43:42.766201+0800 多线程[60718:4172004] 第一个87
2018-12-07 16:43:42.766569+0800 多线程[60718:4172004] 第一个88
2018-12-07 16:43:42.766878+0800 多线程[60718:4172004] 第一个89
2018-12-07 16:43:42.767111+0800 多线程[60718:4172004] 第一个90
2018-12-07 16:43:42.767425+0800 多线程[60718:4172004] 第一个91
2018-12-07 16:43:42.767709+0800 多线程[60718:4172004] 第一个92
2018-12-07 16:43:42.767970+0800 多线程[60718:4172004] 第一个93
2018-12-07 16:43:42.768255+0800 多线程[60718:4172004] 第一个94
2018-12-07 16:43:42.768486+0800 多线程[60718:4172004] 第一个95
2018-12-07 16:43:42.768757+0800 多线程[60718:4172004] 第一个96
2018-12-07 16:43:42.769067+0800 多线程[60718:4172004] 第一个97
2018-12-07 16:43:42.769251+0800 多线程[60718:4172004] 第一个98
2018-12-07 16:43:42.769506+0800 多线程[60718:4172004] 第一个99
2018-12-07 16:43:42.769921+0800 多线程[60718:4172004] 1结束
2018-12-07 16:43:42.770263+0800 多线程[60718:4172004] 第二个0
2018-12-07 16:43:42.770593+0800 多线程[60718:4172004] 第二个1
2018-12-07 16:43:42.770833+0800 多线程[60718:4172004] 第二个2
2018-12-07 16:43:42.771067+0800 多线程[60718:4172004] 第二个3
2018-12-07 16:43:42.771355+0800 多线程[60718:4172004] 第二个4
2018-12-07 16:43:42.771569+0800 多线程[60718:4172004] 第二个5
2018-12-07 16:43:42.771803+0800 多线程[60718:4172004] 第二个6
2018-12-07 16:43:42.772059+0800 多线程[60718:4172004] 第二个7
2018-12-07 16:43:42.772325+0800 多线程[60718:4172004] 第二个8
2018-12-07 16:43:42.772627+0800 多线程[60718:4172004] 第二个9
2018-12-07 16:43:42.772850+0800 多线程[60718:4172004] 2结束
2018-12-07 16:43:42.773125+0800 多线程[60718:4172006] 第三个0
2018-12-07 16:43:42.773385+0800 多线程[60718:4172006] 第三个1
2018-12-07 16:43:42.773615+0800 多线程[60718:4172006] 第三个2
2018-12-07 16:43:42.773890+0800 多线程[60718:4172006] 第三个3
2018-12-07 16:43:42.774134+0800 多线程[60718:4172006] 第三个4
2018-12-07 16:43:42.774402+0800 多线程[60718:4172006] 第三个5
2018-12-07 16:43:42.774662+0800 多线程[60718:4172006] 第三个6
2018-12-07 16:43:42.774938+0800 多线程[60718:4172006] 第三个7
2018-12-07 16:43:42.775160+0800 多线程[60718:4172006] 第三个8
2018-12-07 16:43:42.775398+0800 多线程[60718:4172006] 第三个9
2018-12-07 16:43:42.775689+0800 多线程[60718:4172006] 3结束
2018-12-07 16:43:42.775932+0800 多线程[60718:4172006] 结束了