菜鸟问题,各位多见谅
原来一直想用NSThread detachNewThread方式来创建新的线程
后来发现很多成员都是NSCondition start方式了
1 于是犹豫要不要换成这种方式 好像看着比较简单一点
2 看了几个NSCondition的例子 始终没有找到线程里有类似while(1)这样的等待循环
程序在执行某个异步等待操作后会不会直接退出了么?还是有类似机制保证它在异步回调回来前不会结束线程呢?

解决方案 »

  1.   


    不是。。
    ios的线程分为有event lopper的和没有的。这个你可以搜一下runloop ios
      

  2.   

    //解决connection接受完再结束线程
    while (!dto.finished) {
    [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
    }
    有像这样的语句吗,这值我自己用的时候等线程结束再关线程的语句
      

  3.   

    如果你只是利用线程执行一个任务,线程会在执行完的情况下,释放所占用的资源。如果你需要在线程里面做一系列的任务,那么你需要做的就是启动线程的runloop,然后在runloop里面加一个长线任务。比如一个timer。这样,子线程就不会在执行一次任务完成后就退出了。
      

  4.   

    NSCondition就是同步互斥的机制。