前言 在Java中,线程是一个很关键的名词,也是很高频使用的一种资源。那么它的概念是什么呢,是如何定义的,用法又有哪些呢?为何说Android里只有一个主线程呢,什么是工作线程呢。线程又存在并发,并发机制的原理是什么。这…
分类:java并发
java 线程池原理分析
一、为什么使用线程池 1、降低资源消耗,减少线程创建和销毁次数,每个工作线程可以重复利用,执行多个任务 2、可根据系统承受能力,调整工作线程的数目,防止消耗过多的内存 二、java 线程池使用 Execut…
#大学#Java多线程产生死锁的原因和解决方法
一般造成死锁必须同时满足如下4个条件: 1,互斥条件:线程使用的资源必须至少有一个是不能共享的; 2,请求与保持条件:至少有一个线程必须持有一个资源并且正在等待获取一个当前被其它线程持有的资源; 3,非剥夺条…
java线程 公平锁 ReentrantLock(boolean fair)
一、公平锁 1、为什么有公平锁 CPU在调度线程的时候是在等待队列里随机挑选一个线程,由于这种随机性所以是无法保证线程先到先得的(synchronized控制的锁就是这种非公平锁)。但这样就会产生饥饿现象,即有些线程…
Java ReentranLock同步锁和Condition条件的使用
java.util.concurrent.lock 中的 Lock 框架是锁定的一个抽象,它允许把锁定的实现作为 Java 类,而不是作为语言的特性来实现。这就为 Lock 的多种实现留下了空间,各种实现可能有不同的调度…
java基础---线程
(一) 一、程序 进程 线程1、程序:指令集 静态概念2、进程:操作系统 调度程序 动态概念3、线程:在进程内多条执行路径 (二) 一、继承Thread + run()启动: 创建子类对象 +对象.star…
我给出的一份Java服务器端面试题-适合电话面试
这部分内容,参考了《面试官的七种武器》一文。 电面与face2face的面试还是有区别的,很多考察方式无法使用。 从简历聊起,逐渐进入正题。 Java语法 重载与重写的区别? java如何实现…
Java多线程系列 JUC锁07 ConditionObject分析
ConditionObject ConditionObject是AQS中的内部类,提供了条件锁的同步实现,实现了Condition接口,并且实现了其中的await(),signal(),signalALL()等方法。…
Java JUC包源码分析 - ConcurrentHashMap
ConcurrentHashMap之较于HashMap是保证了线程安全,其实现方式之精妙有很多值得学习的地方。同时,这篇文章也将持续更新,毕竟目前只研究了常用的几个操作,还有其他操作,等待我去深挖。 Concurrent…
Java Thread part 1
package threadtest; /** * 事实上,Runnable类称作Task更加确切 * 真正的线程是执行单位,应该是Thread或Executor */ public class TestThread e…
java并发:读写锁ReadWriteLock
在没有写操作的时候,两个线程同时读一个资源没有任何问题,允许多个线程同时读取共享资源。 但是如果有一个线程想去写这些共享资源,就不应该再有其它线程对该资源进行读或写。 简单来说,多个线程同时操作同一资源时,“读读共存,写…
java并发编程(九)死锁
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17200937 &nbs…