線程的基本概念和调度策略.docxVIP

  • 4
  • 0
  • 约6.38千字
  • 约 7页
  • 2017-01-16 发布于重庆
  • 举报
線程的基本概念和调度策略

一、线程的基本概念????进程(process)和文件(files)是UNIX/Linux操作系统两个最基本的抽象。进程是处于执行期的程序和它所包含的资源的总和,也就是说一个进程就是处于执行期的程序。一个线程(thread)就是运行在一个进程上下文中的一个逻辑流,不难看出,线程是进程中最基本的活动对象。????在传统的系统中,一个进程只包含一个线程。但在现代操作系统中,允许一个进程里面可以同时运行多个线程,这类程序就被称为多线程程序。所有的程序都有一个主线程(main thread),主线程是进程的控制流或执行线程,见图1。在多线程程序中,主线程可以创建一个或多个对等线程(peer thread),从这个时间点开始,这些线程就开始并发执行,见图2。主线程和对等线程的区别仅在于主线程总是进程中第一个运行的线程。从某种程度上看,线程可以看作是轻量级的进程(lightweight process)。在Linux操作系统中,内核调度的基本对象是线程,而不是进程,所以进程中的多个线程将由内核自动调度。????每个线程都拥有独立的线程上下文(thread context),线程ID(Thread ID,TID),程序计数器(pc),线程栈(stack),一组寄存器(register)和条件码。其中,内核正是通过线程ID(TID)来识别线程,进行线程调度的。????????图 1多线程进程的控制

文档评论(0)

1亿VIP精品文档

相关文档