您的位置:首页 > 编程语言 > Java开发

java多线程—概念—菜鸟的进阶

2015-01-15 18:14 337 查看
四载风雨过,终于到了走出校园的时刻,在这个不太冷的冬季里,我开始自己的求职路。还没毕业,没有项目经验,履历的空白让我充满的了弱点。笔试的时候感觉还可以,但是等到面试,总是被面试官吊打。如今也只好静静的品一杯香茗,补补自己的漏洞。java多线程的内容,虽然曾经有学过,但是在自己的项目中从来不用,时日一久,便如数还给老师了。很多内容,自己不用,不代表它无用,java多线程经常被老鸟用来考验新人的能力,为避免再次被刁难,将以前所学整理了一下,欢迎老鸟指正。

多线程是一种机制,它允许在程序中并发执行多个指令,每个指令都称为一个线程,彼此间相互独立。线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其他线程共享一个存储空间,这使得线程间的通信远较进程简单。一个Java虚拟机的实例运行在一个单独的进程中,不同的线程共享Java虚拟机进程所属的堆内存。这也是为什么不同的线程可以访问同一个对象。线程彼此共享堆内存并保有他们自己独自的栈空间。这也是为什么当一个线程调用一个方法时,他的局部变量可以保证线程安全。但堆内存并不是线程安全的,必须通过显示的声明同步来确保线程安全。

多个线程的执行时并发的,也就是在逻辑上是“同时”,而不管是否是物理上的同时。如果线程只有一个cpu,一个cpu同一时间只能执行一条指令,那么真正的“同时”是不可能的,但是由于cpu的速度非常快,用户感觉不到其中的区别。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: