问题:在做多线程开发的时候,测试case里面做一个延迟的操作,想到了sleep()函数,但是又不能确定它到底阻塞的是主线程还是当前线程。
分析:于是自己测试了一下,用dispatch_queue_create创建了一个串行队列,然后在这个dispatch_queue_t上执行sleep(10),结果发现阻塞的是这个串行队列,而主线程没有收到影响。而且我在这个串行队列中多次调用sleep(10),该线程先会睡眠10秒,唤醒后执行相关方法,然后再次睡眠10s,唤醒后执行相关方法,。。。
结论:sleep()函数阻塞的是当前进程。