首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在完成其他NSThread后启动NSThread?

如何在完成其他NSThread后启动NSThread?
EN

Stack Overflow用户
提问于 2011-09-11 19:59:15
回答 1查看 1.1K关注 0票数 0

我有几条线。我想运行它们,确保它们一个接一个地执行。运行thread1;运行thread2;当我执行此操作时,thread2正在运行,而不等待thread1完成。我需要这个,因为我需要线程1的值,以便在线程2上使用。

EN

回答 1

Stack Overflow用户

发布于 2011-09-11 22:06:00

如果你真的需要线程,不管是什么原因,你可以这样做。

代码语言:javascript
复制
- (void)startThreadOne
{
    [NSThread detachNewThreadSelector:@selector(executeThreadOne) toTarget:self withObject:nil];
}

- (void)executeThreadOne
{
    NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
    // calculate the value
    [self performSelectorOnMainThread:@selector(threadOneDidFinish) withObject:nil waitUntilDone:NO];
    [pool release];
}

- (void)threadOneDidFinish
{
    [NSThread detachNewThreadSelector:@selector(executeThreadTwo) toTarget:self withObject:nil];
}

然而,这种方式可能被认为是过时的。在可能的情况下应使用串行调度队列。Concurrency Programming Guide.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7378022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档