美文网首页IOSbug
无奈,无赖,谁来拯救你!

无奈,无赖,谁来拯救你!

作者: 司马捷 | 来源:发表于2015-07-19 15:13 被阅读49次

1.在ios中很多操作在异步操作的时候需要等待,异步操作完成时候,我们有时候会这样处理:

 while (!isFinish) {
        [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
    }

当然采取同步的就不说了.

2.这个时候,如果当前线程是线程.一直在空转,在这里等待.同时又处理主线程其他消息源过来得消息.
突然在其他次线程中需要在主线程执行的操作.

 [self performSelectorOnMainThread:@selector(trytoDoConnect) withObject:nil waitUntilDone:YES];

这是时候UntilDone 是YES 和NO 就很关键了.主线程已经被阻塞了.现在要执行的操作是否是被立即执行,需要靠YES和NO,决定.YES,立即派发.NO则是在等待队列中排队.

3.还没完呢,这个时候第二部的主线程的操作需要循环执行,而且需要等待5秒中以后循环执行.等待5秒钟,这个时候就有意思了.

 NSDate *loopUntil = [NSDate dateWithTimeIntervalSinceNow:5];
 [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:loopUntil];

线程等待5秒,这个确实是在等待5秒,但是这个方法使用后,我顿时毛骨悚然,程序完全超出了我的控制范围.我都不知道我写的是什么了.

4.其实这里就是总结下思路,我也是菜鸟不是很多这里线程的跳转,管他三七二十一.

sleep(5);

睡觉总会吧,睡5秒先.
和下面的方法

 [NSThread sleepForTimeInterval:5];

区别不是很大.参考链接:http://stackoverflow.com/questions/3155586/what-is-the-difference-among-sleep-usleep-nsthread-sleepfortimeinterval

5.善用NSDate 时间控制,和NSTimer.控制.

6.唉,最近感觉写一行代码,都好累,不会写了。开始怀疑自己是否适合干这行了。

相关文章

  • 无奈,无赖,谁来拯救你!

    1.在ios中很多操作在异步操作的时候需要等待,异步操作完成时候,我们有时候会这样处理: 当然采取同步的就不说了....

  • 无赖。无奈。

    生活中的自己有时候行如一个无赖。 导致一直无奈。。。 一片静地。 嘘,别告诉别人我在这。

  • 12.25

    谁来拯救我

  • 谁来拯救你

    最近,感觉自己身体很差,浑身无力,心里慌慌的,晚上经常被恶梦惊醒,心脏一蹦一蹦地,像要从身体里跳出来。 看过医生,...

  • 谁来拯救你?

    你陷身生活苦痛之中,挣扎着却不知前路何方?你拼搏到无力,希望有人来拯救你! 然而,你等不来别人的拯救,因为只有自...

  • 整容脸的珍珠少女

    谁来拯救我的审美!

  • 公婆吵架,儿媳怎么办?

    不参与!!!!! 谁来拯救? 当然是他儿子,也就是你老公!

  • 无赖和无奈

    作者:梅闻花与驴 记得两年前我们搬到现在居住的地方时,全家人都非常开心,虽然在搬家的头一年和物管因为前后花园...

  • 无赖与无奈

    你想要怎样爱 我就怎样去爱 你想怎样伤害 你就怎样伤害 你把这叫公平 我把这叫无奈 到底谁是无赖?[Sob]

  • 无赖的无奈

    孩子,你爸爸是个无赖。 他抽烟喝酒赌博乱搞女人。 他打我打你乱摔东西。 他骗我骗你骗朋友。 他欠钱不还乱偷东西。 ...

网友评论

    本文标题:无奈,无赖,谁来拯救你!

    本文链接:https://www.haomeiwen.com/subject/ftspqttx.html