全站年SVIP
全站1000+试题无限查看
1. 什么是线程
线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在 Unix System V 及 SunOS 中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。
2. 线程和进程的关系
轻量级进程(light-weight process),也有 PCB,创建线程使用的底层函数和进程一 样,都是 clone;
从内核里看进程和线程是一样的,都有各自不同的 PCB,但是 PCB 中指向内存资源的三级页表是相同的;
进程可以蜕变成线程;
在美国人眼里,线程就是寄存器和栈;
在 linux 下,线程最是小的执行单位;进程是最小的分配资源单位查看 LWP 号
ps -Lf pid ps -eLf
Text data bss 堆 共享库
优点:
缺点:
查看 manpage 关于 pthread 的函数
man -k pthread
Ubuntu 可以通过以下命令安装 man 命令:sudo apt-get install manpages-posix manpages-posix-dev
sudo apt-get install manpages-posix manpages-posix-dev
线程与进程优缺点,以及共享资源和非共享资源能讲明白吗
1. 什么是线程
线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在 Unix System V 及 SunOS 中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。
2. 线程和进程的关系
轻量级进程(light-weight process),也有 PCB,创建线程使用的底层函数和进程一 样,都是 clone;
从内核里看进程和线程是一样的,都有各自不同的 PCB,但是 PCB 中指向内存资源的三级页表是相同的;
进程可以蜕变成线程;
在美国人眼里,线程就是寄存器和栈;
在 linux 下,线程最是小的执行单位;进程是最小的分配资源单位查看 LWP 号
ps -Lf pid ps -eLf
3. 线程间共享资源
Text data bss 堆 共享库
4. 线程间非贡献资源
5. 线程优缺点
优点:
缺点:
6. pthread manpage
查看 manpage 关于 pthread 的函数
man -k pthread
Ubuntu 可以通过以下命令安装 man 命令:
sudo apt-get install manpages-posix manpages-posix-dev