java多线程与并发之java线程简介(一)
来源:互联网 发布:java复制文件并重命名 编辑:程序博客网 时间:2024/05/21 10:44
线程基础
----------
什么是线程?
几乎每种操作系统都支持进程的概念 ―― 进程就是在某种程度上相互隔离的、独立运行的程序。线程化是允许多个活动共存于一个进程中的工具。大多数现代的操作系统都支持线程,而且线程的概念以各种形式已存在了好多年。Java是第一个在语言本身中显式地包含线程的主流编程语言,它没有把线程化看作是底层操作系统的工具。
有时候,线程也称作轻量级进程。就象进程一样,线程在程序中是独立的、并发的执行路径,每个线程有它自己的堆栈、自己的程序计数器和自己的局部变量。但是,与分隔的进程相比,进程中的线程之间的隔离程度要小。它们共享内存、文件句柄和其它每个进程应有的状态。
进程可以支持多个线程,它们看似同时执行,但互相之间并不同步。一个进程中的多个线程共享相同的内存地址空间,这就意味着它们可以访问相同的变量和对象,而且它们从同一堆中分配对象。尽管这让线程之间共享信息变得更容易,但您必须小心,确保它们不会妨碍同一进程里的其它线程。
Java线程工具和API 看似简单。但是,编写有效使用线程的复杂程序并不十分容易。因为有多个线程共存在相同的内存空间中并共享相同的变量,所以您必须小心,确保您的线程不会互相干扰。
每个 Java 程序都使用线程
每个 Java 程序都至少有一个线程 ― 主线程。当一个 Java 程序启动时,JVM 会创建主线程,并在该线程中调用程序的 main() 方法。
JVM 还创建了其它线程,您通常都看不到它们 ― 例如,与垃圾收集、对象终止和其它 JVM 内务处理任务相关的线程。其它工具也创建线程,如 AWT(抽象窗口工具箱(Abstract Windowing Toolkit))或 Swing UI 工具箱、servlet 容器、应用程序服务器和 RMI(远程方法调用(Remote Method Invocation))。
为什么使用线程?
在 Java 程序中使用线程有许多原因。如果您使用 Swing、servlet、RMI 或 Enterprise JavaBeans(EJB)技术,您也许没有意识到您已经在使用线程了。使用线程的一些原因是它们可以帮助:
使 UI 响应更快
利用多处理器系统
简化建模
执行异步或后台处理
- java多线程与并发之java线程简介(一)
- java多线程与并发之java线程简介(二)
- java多线程与并发之java线程简介(三)
- java多线程与并发之java线程简介(四)
- java多线程与并发之java线程简介(五)
- java多线程与并发之java线程简介(六)
- java多线程之线程与进程简介
- java多线程与并发之java并发编程实践(一)
- Java多线程与并发学习之(一):进程与线程
- Java多线程与并发库高级应用之线程池
- Java多线程与并发库高级应用之线程池
- Java多线程与并发(二)之线程同步
- Java多线程与并发(四)之中断线程
- Java多线程与并发(六)之线程池
- java多线程(一) 之 简介
- 【Java多线程与并发库】8.java5线程并发库之线程池的应用
- 【Java多线程与并发库】8.java5线程并发库之线程池的应用
- Java多线程与并发(一)之概念及操作方法
- android sdk安装问题
- MLGBD 从今天开始起,不偷懒了。
- 挖潜无极限---数据挖掘技术与应用热点扫描
- opengl 打开和关闭垂直同步方法
- 辞职也需要辞得帅,辞得大家都开心,多为将来考虑,辞职不要急,本是好事要办好
- java多线程与并发之java线程简介(一)
- 如何减少编码过程中的错误
- 如何隐藏Windows 7登录界面的用户?
- 如果你喜欢编程 给想做程序员的人的7个建议
- jQuery方法大全
- Ant实战
- Quartz在.Net网站中的使用方法(附Demo)
- RDLC的部署(无法找到Microsoft.ReportViewer.ProcessingObjectModel.dll文件)
- js时钟