Objective c 如何避免系统阻塞

Objective c 如何避免系统阻塞,objective-c,macos,Objective C,Macos,我使用下面的代码来执行我的程序 for(int i=0;i<100000000000000000000;i++) { //dosomething } for(inti=0;i您可以使用。它就像.NET中的BackgroundWorker/Task。它还有一个很棒的教程 例如: 用户界面是在主应用程序线程上处理的。看起来您需要的是一个多线程程序;在Mac OS X上实现这一点的方法有很多,包括直接使用POSIX线程(pthread_create()),等等 更多信息: 基本上,他需要gui

我使用下面的代码来执行我的程序

for(int i=0;i<100000000000000000000;i++)
{
//dosomething
}
for(inti=0;i您可以使用。它就像.NET中的BackgroundWorker/Task。它还有一个很棒的教程

例如:


用户界面是在主应用程序线程上处理的。看起来您需要的是一个多线程程序;在Mac OS X上实现这一点的方法有很多,包括直接使用POSIX线程(
pthread_create()
),等等

更多信息:

基本上,他需要gui的等待线程。可能重复:
dispatch_queue_t q = dispatch_get_global_queue(0, 0);
dispatch_queue_t main = dispatch_get_main_queue();
dispatch_async(q, ^{
    // long running database operation
    dispatch_async(main, ^{

   });
});