线程简介

简介:

线程(threads, 台湾称 执行绪),也被称为轻量进程(lightweight processes)。计算机科学术语,指运行中的程序的调度单位。

  线程是进程中的实体,一个进程可以拥有多个线程,一个线程必须有一个父进程。线程不拥有系统资源,只有运行必须的一些数据结构;它与父进程的其它线程共享该进程所拥有的全部资源。线程可以创建和撤消线程,从而实现程序的并发执行。一般,线程具有就绪、阻塞和运行三种基本状态。

  在多中央处理器的系统里,不同线程可以同时在不同的中央处理器上运行,甚至当它们属于同一个进程时也是如此。大多数支持多处理器的操作系统都提供编程接口来让进程可以控制自己的线程与各处理器之间的关联度(affinity)。

  进程与线程的区别到底是什么?

  进程是执行程序的实例。例如,当你运行记事本程序(Nodepad)时,你就创建了一个用来容纳组成Notepad.exe的代码及其所需调用动态链接库的进程。每个进程均运行在其专用且受保护的地址空间内。因此,如果你同时运行记事本的两个拷贝,该程序正在使用的数据在各自实例中是彼此独立的。在记事本的一个拷贝中将无法看到该程序的第二个实例打开的数据。

  以沙箱为例进行阐述。一个进程就好比一个沙箱。线程就如同沙箱中的孩子们。孩子们在沙箱子中跑来跑去,并且可能将沙子攘到别的孩子眼中,他们会互相踢打或撕咬。但是,这些沙箱略有不同之处就在于每个沙箱完全由墙壁和顶棚封闭起来,无论箱中的孩子如何狠命地攘沙,他们也不会影响到其它沙箱中的其他孩子。因此,每个进程就象一个被保护起来的沙箱。未经许可,无人可以进出。
本文转自jiahuafu博客园博客,原文链接http://www.cnblogs.com/jiahuafu/archive/2010/06/03/1750459.html如需转载请自行联系原作者

jiahuafu

相关文章
|
5月前
|
Java 调度
Java并发基础-线程简介(状态、常用方法)
Java并发基础-线程简介(状态、常用方法)
36 0
|
6月前
|
安全 Java API
Java 8中的Stream API:简介与实用指南深入理解Java并发编程:线程安全与锁优化
【5月更文挑战第29天】本文旨在介绍Java 8中引入的Stream API,这是一种用于处理集合的新方法。我们将探讨Stream API的基本概念,以及如何使用它来简化集合操作,提高代码的可读性和效率。 【5月更文挑战第29天】 在Java并发编程中,线程安全和性能优化是两个核心议题。本文将深入探讨如何通过不同的锁机制和同步策略来保证多线程环境下的数据一致性,同时避免常见的并发问题如死锁和竞态条件。文章还将介绍现代Java虚拟机(JVM)针对锁的优化技术,包括锁粗化、锁消除以及轻量级锁等概念,并指导开发者如何合理选择和使用这些技术以提升应用的性能。
|
6月前
|
消息中间件 Java C++
"Java多线程基础-2:简介虚拟地址空间——保障进程间独立性的机制 "
如何保障进程之间这样的独立性?操作系统采用了“虚拟地址空间”的方式。
41 0
|
6月前
|
存储 Java 调度
Java多线程基础-1:通俗简介操作系统之进程的管理与调度
操作系统是一个复杂的软件,具备许多功能。其中,进程的管理与调度是与我们密切相关的。本文将对操作系统功能中进程管理与调度作出介绍。
63 0
|
数据可视化 算法 数据库
GUI、多线程编程、网络编程简介
GUI 是 Graphical User Interface 的缩写,含义为图形用户界面。它是一种计算机操作界面,通过图形、图标和视觉化元素与用户进行交互。相比于命令行界面(CLI),GUI 提供了更直观、更易用的方式让用户与计算机系统进行交互。
|
6月前
|
Java 程序员 调度
JavaEE 08 线程池简介
JavaEE 08 线程池简介
42 0
|
设计模式 Java 调度
JAVA线程入门简介
JAVA线程入门简介
183 0
|
缓存 Java 调度
线程池简介
线程池简介
142 0
【并发多线程】java.util.concurrent简介
【并发多线程】java.util.concurrent简介
90 0
|
调度
Jmeter之线程组设置简介
线程数:组内线程个数,模拟用户的数量。 循环次数:每个线程循环执行取样器的次数;勾选【永远】一直循环执行(慎用)可配合【调度器】使用。 调度器:默认禁用,使用时需要勾选,勾选后,持续时间6,启动延迟时间2:点击启动按钮后,延迟2s后才开始执行取样器,并持续执行6s。
457 0
Jmeter之线程组设置简介