gpt4 book ai didi

objective-c - 关于区 block 和中央调度的问题

转载 作者:行者123 更新时间:2023-12-03 18:02:14 24 4
gpt4 key购买 nike

我有一个问题找不到答案,因为我想知道我当前的代码是否正确。代码如下。

问题是关于 while 循环..这是正确的吗?

PS:Platinum uPnp 在 Start() 之后需要一个 while 循环,否则该过程将明显停止。

- (void) start {

scan_queue = dispatch_queue_create("upnpscan.devices", NULL);

dispatch_async(scan_queue, ^{

PLT_CtrlPointReference ctrlPoint(new PLT_CtrlPoint());
BritneyMediaController controller(ctrlPoint, self);

upnp.AddCtrlPoint(ctrlPoint);
upnp.Start();

[self setRunning:YES];
while([self running]) {

}
NSLog(@"Stopped running");
});
NSLog(@"Voor sleep");
sleep(10);
NSLog(@"Ik ben wakker");
[self stop];
}

- (void) stop {

[self setRunning:NO];
return;

}

最佳答案

这看起来不对。如果您需要 while 循环,则意味着 Start() 是非阻塞的,在这种情况下它不需要位于后台线程中。您应该在主线程上运行一个运行循环并从那里开始,看起来像。

关于objective-c - 关于区 block 和中央调度的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5236865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com