【Java并发编程】
文章平均质量分 83
Terence Jing
不忘初心.
Easy as pie.
展开
-
面试中的 进程和线程的区别
Java面试中,经常问道的一个题目:就是进程和线程;下面就叨唠叨唠面试中需要掌握的进程和线程的区别。 进程进程是对计算机的一种抽象;1. 进程是一个计算过程,表示一个逻辑控制流,它造成一个假象,好像这个进程一直在独占CPU资源。2. 进程拥有一个独立的虚拟内存地址空间,它造成一个假象,好像这个进程一直在独占存储器资源。 进程有三个状态:就绪、运行和阻塞...原创 2017-09-04 11:46:08 · 4516 阅读 · 0 评论 -
Java并发编程:(1)进程和线程的由来、进程的创建、线程的创建
1 进程和线程的由来 1 起初,为了提高一个时间段内CPU的利用率,允许多个任务程序进行切换,人们发明了进程,用进程来对应一个程序,每个进程对应一定的内存地址空间,并且只能使用它自己的内存空间,各个进程间互不干扰。并且进程保存了程序每个时刻的运行状态,这样就为进程切换提供了可能。当进程暂停时,它会保存当前进程的状态(比如进程标识、进程的使用的资源等),在下一次重新切换回来时,便...原创 2017-09-05 12:29:58 · 1232 阅读 · 0 评论 -
Java并发编程:(2)线程状态和Thread类详解
1 线程状态线程从创建到最终的消亡整个生命周期要经的状态: 创建(new)、就绪(runnable)、运行(running)、阻塞(blocked、time waiting、waiting)、消亡(dead)1)创建(new): 当需要新起一个线程来执行某个子任务时,就创建了一个线程。2)就绪(runnable): 线程创建后不会立即进入...原创 2017-09-05 12:46:19 · 1212 阅读 · 0 评论 -
JAVA并发与多线程 面试题目
多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来应对日后碰到的问题。1 Java多线程面试问题1. 进程和线程之间有什么不同? 一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行...转载 2017-09-04 14:24:17 · 986 阅读 · 0 评论 -
Java并发编程:(4)volatile关键字的使用
volatile关键字是与Java的内存模型有关的,因此需要先了解一下与内存模型相关的概念和知识,再去分析volatile关键字的实现原理和应用场景。 发音:英[ˈvɒlətaɪl] 美[ˈvɑ:lətl] 1 内存模型1.1 内存模型 计算机...原创 2017-09-06 19:32:14 · 1305 阅读 · 0 评论 -
Java并发编程:(3)synchronized和Lock
1 线程安全问题思考这样一个问题: 单线程中不会出现线程安全问题,而在多线程编程中,有可能会出现多个线程同时访问同一个临界资源(或共享资源:一个变量、一个对象、一个文件、一个数据库表)情况,多个线程并发执行过程不可控,很可能导致最终的结果与实际上的愿望相违背或者直接导致程序出错。例如: 当线程A读取到一个数据D的时候,然后开始使用,但是有可能在使用前,...原创 2017-09-06 15:58:47 · 819 阅读 · 0 评论 -
Java并发编程:(5)线程池解析
思考这样一个问题: 如果并发线程数量多,且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?本节所要说的【线程池】就可以解决这种问题。那么,什么是线程池呢? 线程池是指在初始化一个多线程应用程序过程...原创 2017-09-08 15:24:48 · 1224 阅读 · 0 评论