【发布时间】:2010-09-18 06:44:43
【问题描述】:
我注意到来自我的主线程的以下平庸调用
[self performSelectorOnMainThread:@selector(rollBar:)
withObject:nil
waitUntilDone:false];
导致[NSThread isMultiThreaded] 报告我的应用程序
变成了多线程。我以为那只是应该的
当你分离一个线程时发生,排队的东西
一个线程中的消息应该不需要这样做。
有什么见解吗?
这个问题和this不一样。
停止新闻
我的错,rollBar: 叫[m_progress_bar incrementBy: 0.5];。
漂亮,可舔,动画NSProgressIndicator负责
使我的应用程序成为多线程的。这令人惊讶。
我不知道。
令人惊讶的是,[m_progress_bar usesThreadedAnimation] 总是
返回NO,即使我的应用程序挂起时栏会显示动画。
【问题讨论】:
-
但是如果你试图运行一些东西(在主线程中)并且不愿意等到这个操作完成(“waitUntilDone: false”),这并不意味着你必须在至少两个线程?
-
不,您只是将事件发布到您自己线程的队列中。至少这是你所期望的。不过等一下,我想通了:我做了一些愚蠢的事情,但结果令人惊讶。
标签: objective-c cocoa multithreading