java多线程—概念—菜鸟的进阶
2015-01-15 18:14
337 查看
四载风雨过,终于到了走出校园的时刻,在这个不太冷的冬季里,我开始自己的求职路。还没毕业,没有项目经验,履历的空白让我充满的了弱点。笔试的时候感觉还可以,但是等到面试,总是被面试官吊打。如今也只好静静的品一杯香茗,补补自己的漏洞。java多线程的内容,虽然曾经有学过,但是在自己的项目中从来不用,时日一久,便如数还给老师了。很多内容,自己不用,不代表它无用,java多线程经常被老鸟用来考验新人的能力,为避免再次被刁难,将以前所学整理了一下,欢迎老鸟指正。
多线程是一种机制,它允许在程序中并发执行多个指令,每个指令都称为一个线程,彼此间相互独立。线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其他线程共享一个存储空间,这使得线程间的通信远较进程简单。一个Java虚拟机的实例运行在一个单独的进程中,不同的线程共享Java虚拟机进程所属的堆内存。这也是为什么不同的线程可以访问同一个对象。线程彼此共享堆内存并保有他们自己独自的栈空间。这也是为什么当一个线程调用一个方法时,他的局部变量可以保证线程安全。但堆内存并不是线程安全的,必须通过显示的声明同步来确保线程安全。
多个线程的执行时并发的,也就是在逻辑上是“同时”,而不管是否是物理上的同时。如果线程只有一个cpu,一个cpu同一时间只能执行一条指令,那么真正的“同时”是不可能的,但是由于cpu的速度非常快,用户感觉不到其中的区别。
多线程是一种机制,它允许在程序中并发执行多个指令,每个指令都称为一个线程,彼此间相互独立。线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其他线程共享一个存储空间,这使得线程间的通信远较进程简单。一个Java虚拟机的实例运行在一个单独的进程中,不同的线程共享Java虚拟机进程所属的堆内存。这也是为什么不同的线程可以访问同一个对象。线程彼此共享堆内存并保有他们自己独自的栈空间。这也是为什么当一个线程调用一个方法时,他的局部变量可以保证线程安全。但堆内存并不是线程安全的,必须通过显示的声明同步来确保线程安全。
多个线程的执行时并发的,也就是在逻辑上是“同时”,而不管是否是物理上的同时。如果线程只有一个cpu,一个cpu同一时间只能执行一条指令,那么真正的“同时”是不可能的,但是由于cpu的速度非常快,用户感觉不到其中的区别。
相关文章推荐
- java程序员菜鸟进阶(六)《HTTP权威指南》之HTTP相关概念详解
- Java多线程进阶(一)常见多线程概念汇总及实例演示
- 菜鸟课堂:详解Java多线程开发中的数据同步
- java多线程几个方法的基本概念
- JAVA菜鸟(十一)多线程
- Java程序员从笨鸟到菜鸟之(五十)细谈Hibernate(一)hibernate基本概念和体系结构
- Java程序员从笨鸟到菜鸟之(四十八)细谈struts2(十)ognl概念和原理详解
- Java多线程的几个重要概念
- 菜鸟进阶必杀技(Ⅱ)——java基础知识自测篇
- Java程序员从笨鸟到菜鸟之(十一)多线程讲解
- Java程序员从笨鸟到菜鸟之(十一)多线程讲解
- 菜鸟进阶必杀技(Ⅰ)——java基础知识解析篇
- Java多线程编程总结笔记——二概念与原理
- Java之多线程的概念----TOP10
- 多线程菜鸟进阶 一
- Java程序员从笨鸟到菜鸟之(十一)多线程讲解
- java多线程几个方法的基本概念
- java多线程-概念和作用
- java学习5---Java 的多线程,程序、进程和线程的概念
- 【java多线程与并发库】---传统java多线程<1>线程基本概念