什么是线程库,线程库类别及其应用

  • 内容
  • 评论
  • 相关

线程库为程序员提供创建和管理线程的 API。实现线程库的主要方法有两种:

  1. 在用户空间中提供一个没有内核支持的库。这种库的所有代码和数据结构都位于用户空间。这意味着,调用库内的一个函数只是导致了用户空间内的一个本地函数的调用,而不是系统调用。
  2. 实现由操作系统直接支持的内核级的一个库。对于这种情况,库内的代码和数据结构位于内核空间。调用库中的一个API函数通常会导致对内核的系统调用。

目前使用的三种主要线程库是:POSIX PthreadsWindows 和 Java

  • Pthreads 作为 POSIX 标准的扩展,可以提供用户级或内核级的库;
  • Windows 线程库是用于 Windows 操作系统的内核级线程库;
  • Java 线程 API 允许线程在 Java 程序中直接创建和管理。然而,由于大多数 JVM 实例运行在宿主操作系统之上,Java 线程 API 通常采用宿主系统的线程库来实现。这意味着在 Windows 系统上,Java 线程通常采用 Windows API 来实现,而在 UNIX 和 Linux 系统中采用 Pthreads 来实现。

对于 POSIX 和 Windows 线程,全局声明(即在函数之外声明的)的任何数据,可为同一进程的所有线程共享。因为 Java 没有全局数据的概念,所以线程对共享数据的访问必须加以显式安排。属于某个函数的本地数据通常位于堆栈。由于每个线程都有自己的堆栈,每个线程都有自己的本地数据。

在本节的余下部分中,我们将通过这三种线程库介绍简单的线程创建。作为一个说明例子,我们设计了一个多线程程序,以便执行非负整数的求和,这里采用了著名的求和函数:


求和公式

本文标题:什么是线程库,线程库类别及其应用

本文地址:https://www.hosteonscn.com/3580.html

评论

0条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注