线程基本概念

一、线程的概念

1.什么是线程?

  线程是参与系统调度的最小单位。它被包含在进程中,是进程中的实际运行单位。一个线程指的是进程中一个单一顺序的控制流(或者说是执行路线、执行流),一个进程中可以创建多个线程,多个线程实现并发运行,每个线程执行不同的任务。

2.线程是如何被创建的?

  当一个程序启动时,就有一个进程被操作系统(OS)创建,与此同时一个线程也立刻运行,该线程通常叫作程序的主线程(Main Thread)

  任何一个进程都包含一个主线程,只有主线程的进程称为单线程进程。除了主线程之外,还包含其它的线程的进程为多线程进程其它的线程通常由主线程创建,也称为主线程的子线程。所以主线程通常会在最后结束运行,执行各种清理工作(如为子线程收尸)。

3.线程的特点
  (1)线程程序运行的基本单位。线程不单独存在,而是包含在进程中。进程不能运行,真正运行的是进程中的线程

  (2)同一个进程中的多个线程共享该进程中的全部系统资源,如文件描述符,虚拟地址空间和信号处理等。此外,这些线程都有各自的调用栈(call stack,线程栈),自己的寄存器环境(register context),自己的线程本地存储(thread-local storage).

4.在并发处理多任务时,为何选择多线程而不是多进程?

  所谓并发就是交替运行,多进程编程,进程间的切换开销大,通信麻烦且速度慢。

5.线程ID

  每个线程也有其对应的标识,称为线程 ID。与进程相比,进程 ID 在整个系统中是唯一的,但线程 ID 不同,线程 ID 只有在它所属的进程上下文中才有意义。

posted @ 2023-02-05 11:23  是东东东啊  阅读(410)  评论(0编辑  收藏  举报