We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GCD中任务可以分成同步任务,异步任务,队列可以分成串行队列和并行队列,所以二者的组合会有四种:
同步串行: 这种不会创建新的线程,任务执行还是在当前线程中,串行执行,但是这种情况需要注意的是不能往任务分发队列所处的队列发送任务。这种情况会造成死循环。
同步并行: 这种情况下没有开启新的线程,并且任务也是一个个运行的。虽然并发队列可以开启多个线程同时执行多个任务。但是因为同步任务不具备开启新线程的能力,只有当前线程这一个线程,所以也就不存在并发。而且同步任务需要等待队列的任务执行结束之后,才能继续接着执行下面的操作,所以任务只能一个接一个按顺序执行,不能同时执行。
异步串行: 这种情况只会生成一个线程,同一个队列的任务在同一个线程执行。
异步并行: 这种情况下可开启多个线程,同时执行多个任务,但是这种由于任务并行的顺序不确定性,会很容易出错。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
GCD中任务可以分成同步任务,异步任务,队列可以分成串行队列和并行队列,所以二者的组合会有四种:
同步串行:
这种不会创建新的线程,任务执行还是在当前线程中,串行执行,但是这种情况需要注意的是不能往任务分发队列所处的队列发送任务。这种情况会造成死循环。
同步并行:
这种情况下没有开启新的线程,并且任务也是一个个运行的。虽然并发队列可以开启多个线程同时执行多个任务。但是因为同步任务不具备开启新线程的能力,只有当前线程这一个线程,所以也就不存在并发。而且同步任务需要等待队列的任务执行结束之后,才能继续接着执行下面的操作,所以任务只能一个接一个按顺序执行,不能同时执行。
异步串行:
这种情况只会生成一个线程,同一个队列的任务在同一个线程执行。
异步并行:
这种情况下可开启多个线程,同时执行多个任务,但是这种由于任务并行的顺序不确定性,会很容易出错。
The text was updated successfully, but these errors were encountered: