NSThread和fork

[NSThread detachNewThreadWithBlock:^{
        pid_t p1 = fork();
        pid_t p2 = fork();
        NSLog(@"当前线程%@  1:%d",[NSThread currentThread],p1);
        NSLog(@"当前线程%@  2:%d",[NSThread currentThread],p2);
    }];
NSThread *t = [[NSThread alloc] initWithBlock:^{
        pid_t p1 = fork();
        pid_t p2 = fork();
        NSLog(@"当前线程%@  1:%d",[NSThread currentThread],p1);
        NSLog(@"当前线程%@  2:%d",[NSThread currentThread],p2);
    }];
    NSLog(@"创建的线程 %@ %@",t,[NSThread currentThread]);
    [t start];

上下两个结果输出完全不一样,下面的线程居然都是一样的地址???并且有一堆警告信息⚠️

原文地址:https://www.cnblogs.com/yuxiaoyiyou/p/13794642.html