【0320】线程

    技术2022-07-10  163

    线程

    进程和线程

    程序运行需要资源分配(进程)和调度/执行(进程里面的线程)

    线程优势:创建快,结束快,切换快(线程之间),通信快(进程之间的通信复杂,需要中转)

    挂起进程就会挂起进程中的所有线程。

    进程一创建就有线程创建,然后派生出其他线程

    RPC请求

    用户级线程ULT:线程是由用户程序从线程库调用的

    优点:切换快,移植性好,调度与应用程序相关,不同的应用程序可以采用不同的线程调度策略。

    缺点:阻塞线程会阻塞整个进程,没有办法充分利用多核优势(不在内核中)

    内核级线程KLT:线程放入线程池

    优点:阻塞线程不会阻塞整个进程,可充分利用多核优势

    缺点:切换慢(每次切换都需要内核处理,系统状态需要切换),调度机制不灵活

    对称多处理

    SISD【单个处理器执行单个指令流对存储在单个内存中的数据进行操作】,SIMD【每条指令由不同的处理器在不同的数据集上执行】,MISD【一个数据序列被传输到一组处理器,每个处理器执行不同的指令序列。永远不会实现】,MIMD【一组处理器同时对不同的数据集执行不同的指令序列】 并发是多核运行,大多数操作系统做不到,只是伪并行

    对称多处理和多线程是不同的概念。

    内核可以在任何处理机上运行,有多个处理机

    Microkernel微内核

    直到最近,大多数操作系统都只有一个单体内核

    只包括基本内核功能:

    其他服务放在用户空间作为服务程序:

    优势:一致接口,扩展性好,可移植性好,可靠性,支持分布式系统,面向对象操作系统

    Processed: 0.011, SQL: 9