我今天刚开始使用 GCD,我以为我对它的工作原理有所了解,但现在我有点困惑为什么 NSLog 语句没有在控制台中打印/显示。
基本上,如果我正确理解 GCD,则需要完成几个步骤。
- 创建一个新队列
- 将块添加到队列
这是我如何在我的一个文件中使用 GCD 的示例,
ViewControllerWelcome.m
#import <ViewControllerWelcome.h"
#import <dispatch/dispatch.h> // Grand Central Dispatch
@interface ViewControllerWelcome ()
{
// declare private methods here
dispatch_queue_t scan_queue;
}
@end
@implementation ViewControllerWelcome
- (void)viewDidLoad {
[super viewDidLoad];
// threading stuff - GCD
scan_queue = dispatch_queue_create("com.chrisrjones.kegcop", NULL);
// put blocks of code into curly braces to run on separate thread
dispatch_async(scan_queue, ^{
[serial handShake];
NSLog(@"execution reached here");
});
}
@end
由于它目前正在运行,我没有在 ^{ 中看到 NSLog 语句的输出