QQ网名大全

linux c 什么叫轻量级线程

轻量级线程(LWP)是一种由内核支持的用户线程。它是基于内核线程的高级抽象,因此只有先支持内核线程,才能有LWP。每一个进程有一个或多个LWPs,每个LWP由一个内核线程支持。这种模型实际上就是恐龙书上所提到的一对一线程模型。在这种实现的操作系统中,LWP就是用户线程。
由于每个LWP都与一个特定的内核线程关联,因此每个LWP都是一个独立的线程调度单元。即使有一个LWP在系统调用中阻塞,也不会影响整个进程的执行。
轻量级进程具有局限性。首先,大多数LWP的操作,如建立、析构以及同步,都需要进行系统调用。系统调用的代价相对较高:需要在user mode和kernel mode中切换。其次,每个LWP都需要有一个内核线程支持,因此LWP要消耗内核资源(内核线程的栈空间)。因此一个系统不能支持大量的LWP。

注:
1. LWP的术语是借自于SVR4/MP和Solaris 2.x。
2. 有些系统将LWP称为虚拟处理器。
3. 将之称为轻量级进程的原因可能是:在内核线程的支持下,LWP是独立的调度单元,就像普通的进程一样。所以LWP的最大特点还是每个LWP都有一个内核线程支持。
佚名
2024-05-28 09:22:39
最佳回答
类似问题(10)
  • 佚名
    2024-05-28 07:35:13

    c #线程 问题

    Sleep 函数是Thread的静态函数,正确用法:Thread.Sleep(1000);不需要定义 private Thread thread;

  • 佚名
    2024-05-28 13:05:33

    C语言里用什么方法在一个线程里怎么结速另一个线程.. 。。

    C语言是线程独立的,也就是说,C语言本身是没有办法的,但是操作系统提供了API让我们完成这个工作,有很多API,比如TerminateThread,ExitTh...

  • 佚名
    2024-05-28 05:21:03

    C语言中的线程?

    给你推荐一些比较好的教程吧,你应该用得着: 漫谈C++ Builder多线程编程技术: http:///html/xueyuan/chengxukaifa/...

  • 佚名
    2024-05-28 10:08:49

    linux下C语中用到的线程编程函数

    这个网上一搜就能搜出来不少.线程基本函数:http://blog.csdn.net/yuzhoudiwang/archive/2009/07/25/@@.asp...

  • 佚名
    2024-05-28 16:55:49

    c语言多线程

    因为您传入的是t的地址:rc = pthread_create(&thread[t], NULL, PrintHello, &t);所以在Pri...

  • 佚名
    2024-05-28 08:00:00

    多线程下 linux和 windows开发应注意的区别

    linux下线程的实现,linux的线程编程有两个库pthread和pth,对于pthread的实现是内核方式的实现,每个线程在kernel中都有task结构与...

  • 佚名
    2024-05-28 08:00:00

    linux线程同步和进程同步的区别

    (1)管道(pipe)和有名管道(FIFO) (2)信号(signal) (3)消息队列 (4)共享内存 (5)信号量 (6)套接字(socket)

  • 佚名
    2024-05-28 08:00:00

    linux的线程同步方式有哪些

    三种同步方式:1、互斥锁(mutex)、2、条件同步(cond)、3、信号量(semphore).如果还想深入:可以参考http://blog.csdn.net...

  • 佚名
    2024-05-28 08:00:00

    列举linux进程间通信方式,linux pthread线程同步的方式有哪些

    进程间通讯进程间通信就是不同进程之间传播或交换信息,进程的用户空间是互相独立的,进程之间可以利用系统空间交换信息。 管道(pipe)管道是一种半双工的通信方式,...

  • 佚名
    2024-05-28 08:00:00

    linux下多线程同步

    你的问题不是互斥的问题,而是传给子线程的 i 是指针,在子线程获取 *arg 时,主线程的 for 循环可能已经修改或者没有修改 i 的值,从而出现问题。下面的...