美文网首页
4.多任务

4.多任务

作者: LucXion | 来源:发表于2021-09-26 11:11 被阅读0次

多任务最基本的形式就是运行循环,运行循环可以理解为一个大的do/while循环,它运行在某个线程中,从各种事件队列中取得一个事件(每次一个),然后把它分派给合适的监听器

通常项目中引入少量长期线程来处理网络请求、数据库操作、计算,这意味着加锁,加锁代价昂贵,并且可能导致大量bug。如果创建短期线程,虽然对锁的需求降低了,但是创建线程成本很高,我们需要管理一个线程池。操作一般有依赖关系,所以我们期望有队列,如果能让 操作系统来处理线程池和队列 就更好了,这就是 NSOperation。你不用操心信号量和互斥锁机制。GCD 常用栅栏、调度组。

分派队列是严格的先进先出结构,如果要在队列中使用优先级或者调整块的顺序,必须使用NSOperation

分派队列就是队列,队列不是线程,队列也不接受块,队列组织块。dispatch_async不会让块运行,只是将块 添加 到队列中

高优先级队列插队

    // 
    dispatch_queue_t low = dispatch_queue_create("low", DISPATCH_QUEUE_SERIAL);
    dispatch_queue_t high = dispatch_queue_create("high", DISPATCH_QUEUE_SERIAL);
    dispatch_set_target_queue(low, high);
    dispatch_async(low, ^{
        NSLog(@"低优先级区块%ld",(long)self.time);
    });
    dispatch_suspend(low);
    dispatch_async(high, ^{
        NSLog(@"高优先级区域%ld",(long)self.time);
        dispatch_resume(low);
    });

相关文章

  • 4.多任务

    多任务最基本的形式就是运行循环,运行循环可以理解为一个大的do/while循环,它运行在某个线程中,从各种事件队列...

  • 一、linux基础知识

    1、Linux优点 1.开放; 2.安全; 3.稳定 ; 4.低成本; 5.可移植性高; 6.多用户、多任务、多线...

  • 06.系统编程-1.进程

    1、多任务的引入 实现类似唱歌又跳舞的任务同时进行的,叫做:多任务 2、多任务的概念 什么叫“多任务”。简单地说,...

  • Python多任务总结

    多任务什么是多任务同时做多件事件(做个多个任务),运行多个方法多任务的原理并发:假的多任务,时间片的轮转,快速的交...

  • 进程调度

    多任务 多任务系统可以划分为两类: 非抢占式多任务 除非进程自己停止, 否则它会一直执行 抢占式多任务 由调度程序...

  • 1-进程

    多任务原理 现代操作系统(Windows、Mac OS X、Linux、UNIX等)都支持“多任务” 什么叫多任务...

  • 进程、线程

    时间片轮转 并行:真的多任务 并发:假的多任务

  • iOS11人机交互指南(四)- System Capabilit

    一、多任务处理(Multitasking) 多任务处理让你能够通过iOS设备上的多任务处理界面或是在iPad上使用...

  • 测试iOS App 时需要注意什么?

    1. 在历代机型上的测试 2. 主屏幕上的图标和程序名称显示是否正确 3. 观察UI是否符合设计 4. 多任务并存...

  • 看哈佛学长如何管理时间

    1.立好目标 2.要事第一 3.分发任务,提高时间利用率 4.一目十行,耳听八方,多任务处理 ...

网友评论

      本文标题:4.多任务

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