[英]Swift Execution Queue
例如。 我有三个后台任务。 当前运行三个线程,在线程中是一个代码
Dispatchqueue.main.async {
//SOMETHING CODE
}
可以在有Dispatchqueue.main.async
地方同时执行三个不同线程中的代码吗? 谢谢!
主队列是串行的,因此一次只能在其上运行一件事。 如果多个块同时提交到主队列,它们将按顺序运行。
通常,您应该避免从线程的角度考虑这一点。 线程通常是队列所在的实现细节。 (如果您正在主动创建自己的线程,例如使用 pthreads,您通常应该避免这种情况,并使用队列。)线程和队列不是一对一的,除了主线程和主队列,它们是绑定的对彼此。
这很重要,因为您通常不会“在线程上运行代码”。 您将一个块分派到一个队列,GCD 会将该块调度到某个线程上。 当您以这种方式看到它时,主队列的行为应该变得更加清晰。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.