2020-09-25 07:49:04

用户线程 免费编辑 添加义项名

B 添加义项
?
义项指多义词的不同概念,如李娜的义项:网球运动员、歌手等;非诚勿扰的义项:冯小刚执导电影、江苏卫视交友节目等。 查看详细规范>>
所属类别 :
其他
其他
编辑分类

用户线程指不需要内核支持而在用户程序中实现的线程,其不依赖于操作系统核心,应用进程利用线程库提供创建、同步、调度和管理线程的函数来控制用户线程。

基本信息

  • 中文名称

    用户线程

  • 外文名称

    User Thread

  • 实现方式

    用户层通过线程库来实现

  • 优点

    快速地创建和管理

  • 缺点

    单核系统下,可能引起进程阻塞

用户线程(user-level threads)指不需要内核支持而在用户程序中实现的线程,其不依赖于操作系统核心,应用进程利用线程库提供创建、同步、调度和管理线程的函数来控制用户线程。这种线程甚至在象 DOS 这样的操作系统中也可实现,但线程的调度需要用户程序完成,这有些类似 Windows 3.x 的协作式多任务。

优点:1.线程位于用户空间(即不需要模式切换)。

2.完全控制线程调度器(例如:网站服务器)。

3.独立于操作系统(线程可以在不支持它们的操作系统上运行)。

4.运行时系统(run time system)可以切换用户空间中的本地阻塞线程(例如:等待另一个线程完成).

缺点:1.系统调度中,对一个线程的阻塞将会导致整个进程阻塞;(例如:当一个线程因 I/O 而处于等待状态时,整个进程就会被调度程序切换为等待状态,其他线程得不到运行的机会)

2.网站服务器中,一个页面的错误将导致整个进程阻塞。

3.非真正意义的线程并行(一个进程安排在单个CPU上)。

4.不存在时钟中断(例如,如果用户线程是非抢占式(non-preemptive)的,将无法被"进程调度"(schedulers)以round-robin的调度算法调用,因为round-robin调度算法中限制了cpu时间片)。

用户线程不需要额外的内核开支,并且用户态线程的实现方式可以被定制或修改以适应特殊应用的要求,但是;而内核线程则没有这个限制,有利于发挥多处理器的并发优势,但却占用了更多的系统开支。

阅读全文

热点资讯