我正在学习如何进行同步和异步操作。请纠正我提到/学到的是正确的:
同步和asyn操作可以通过以下方式完成(我们可以根据我们的要求选择)
2。 GCD是一个C API,除此之外 - NSThread和NSOperationQueue,NSOperation写的
3。 NSOperation只不过是一个包含大量任务的线程。和main()一样是Thread。如果有人写了创建线程,这也意味着创建自定义nsoperation
4。 NSConnectionurl,AFNetwork在这些GCD,NSThread,NSOperationQueue,NSOperation
之上答案 0 :(得分:1)
请在下面找到我的内联回复。
1)同步和异步操作可以通过以下方式完成(我们可以根据我们的要求选择)
GCD NSThread NSOperationQueue-添加NSOperation
您的理解是正确的,除了一些修改并向NSOperatonQueue添加更多信息。
即使自定义操作的实现是同步的,通过将其添加到操作队列,转换为异步操作。
如果自定义操作以同步方式实现,则调用start方法以同步方式工作 - 它使用当前线程执行自己的任务。
2。 GCD是一个C API,除此之外 - NSThread和NSOperationQueue,NSOperation写的
3。 NSOperation只不过是一个包含大量任务的线程。和main()一样是Thread。如果有人写了创建线程,这也意味着创建自定义nsoperation
自定义操作要么在自己的线程中执行任务,要么在单独的线程中执行。它与实现自定义操作不同。
a)以同步方式实现的自定义操作,即不在start方法中创建一个线程来调用main方法。它执行当前线程中的操作任务,调用操作启动方法。
但是,同一个同步自定义操作,通过将其添加到操作队列,在单独的线程中执行其任务。由操作队列创建的单独线程。
b)自定义操作以异步方式实现,即在单独的线程中执行其任务。
4。 NSConnectionurl,AFNetwork在这些GCD,NSThread,NSOperationQueue,NSOperation
之上