主打【死磕Java系列】和精品系列博客
致力打造 Java 精品博客站点

标签:多线程

java并发编程

【Java并发编程实战】—–synchronized

chenssy阅读(4020)评论(4)赞(0)

在我们的实际应用当中可能经常会遇到这样一个场景:多个线程读或者、写相同的数据,访问相同的文件等等。对于这种情况如果我们不加以控制,是非常容易导致错误的。在java中,为了解决这个问题,引入临界区概念。所谓临界区是指一个访问共用资源的程序片段...

java并发编程

java多线程(十六)—–条件变量

chenssy阅读(2676)评论(2)赞(0)

条件变量是Java5线程中很重要的一个概念,顾名思义,条件变量就是表示条件的一种变量。但是必须说明,这里的条件是没有实际含义的,仅仅是个标记而已,并且条件的含义往往通过代码来赋予其含义。 这里的条件和普通意义上的条件表达式有着天壤之别。 条...

java并发编程

java多线程(十五)—–阻塞栈

chenssy阅读(2132)评论(0)赞(0)

对于阻塞栈,与阻塞队列相似。不同点在于栈是“后入先出”的结构,每次操作的是栈顶,而队列是“先进先出”的结构,每次操作的是队列头。 这里要特别说明一点的是,阻塞栈是Java6的新特征。、 Java为阻塞栈定义了接口:java.util.con...

java并发编程

java多线程(十三)—–信号量

chenssy阅读(2769)评论(0)赞(0)

Java的信号量实际上是一个功能完毕的计数器,对控制一定资源的消费与回收有着很重要的意义,信号量常常用于多线程的代码中,并能监控有多少数目的线程等待获取资源,并且通过信号量可以得知可用资源的数目等等,这里总是在强调“数目”二字,但不能指出来...

java并发编程

java多线程(十二)—–锁

chenssy阅读(2896)评论(0)赞(0)

一、锁(上) 在Java5中,专门提供了锁对象,利用锁可以方便的实现资源的封锁,用来控制对竞争资源并发访问的控制,这些内容主要集中在java.util.concurrent.locks 包下面,里面有三个重要的接口Condition、Loc...

java并发编程

java多线程(十)—–并发协作:死锁

chenssy阅读(3663)评论(0)赞(0)

线程发生死锁可能性很小,即使看似可能发生死锁的代码,在运行时发生死锁的可能性也是小之又小。 发生死锁的原因一般是两个对象的锁相互等待造成的。 在《Java线程:线程的同步与锁》一文中,简述死锁的概念与简单例子,但是所给的例子是不完整的,这里...

java并发编程

Java线程池使用说明

chenssy阅读(4572)评论(2)赞(0)

一、简介 线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要...

java并发编程

Java多线程(四)—–线程状态的转换

chenssy阅读(4740)评论(3)赞(0)

一、线程状态 线程的状态转换是线程控制的基础。线程状态总的可分为五大状态:分别是生、死、可运行、运行、等待/阻塞。用一个图来描述如下: 1、新状态:线程对象已经创建,还没有在其上调用start()方法。 2、可运行状态:当线程有资格运行,但...

java并发编程

Java多线程(三)—–线程栈模型与线程的变量

chenssy阅读(4687)赞(0)

要理解线程调度的原理,以及线程执行过程,必须理解线程栈模型。 线程栈是指某时刻时内存中线程调度的栈信息,当前调用的方法总是位于栈顶。线程栈的内容是随着程序的运行动态变化的,因此研究线程栈必须选择一个运行的时刻(实际上指代码运行到什么地方)。...

java并发编程

Java多线程(一)—–概念与原理

chenssy阅读(5660)评论(0)赞(0)

一、操作系统中线程和进程的概念 现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就...

Chenssy's Blog | 致力打造个人精品博客

联系作者