操作系统线程的实现

线程的实现方式

  • 内核支持线程(KST)

    这种实现方式的优点:
    1.在多处理器系统中,内核能够同时调度同一进程中的多个线程并行执行。
    2.其中一个进程被阻塞了,内核可以调度该进程中其他线程上有处理器运行,也可以运行其他进程中的线程。
    3.内核支持线程具有较小的数据结构和堆栈,线程的切换比较快,切换开销小。
    4.内核本身也采用多线程技术,提高系统运行效率。

  • 用户级线程线程(ULT)

    这种方式实现的优点:
    1.线程切换不需要转换到内核空间。
    2.调度算法可以是进程专业的。
    3.与实现的平台没有关系。
    主要缺点:
    1.系统调用阻塞问题。
    2.单纯的用户线程实现方式中,多线程应用不能利用多处理机进行多重处理的优点,内核每次分配给一个进程仅有一个CPU,因此,进程中仅有一个线程能执行,该进程放弃CUP之前,其他线程只能等待。

  • 组合方式(最优的方式)
    用户级线程通过时分多路复用内核支持线程来实现。组合方式的线程中,同一个进程内多个线程可以同时在多处理器上并行执行,并且阻塞一个线程,不需要吧整个进程都阻塞。

猜你喜欢

转载自blog.csdn.net/qq_41033299/article/details/89345037