随笔分类 -  Java并发编程

摘要:一、简单使用Lock锁 Java 5中引入了新的锁机制——java.util.concurrent.locks中的显式的互斥锁:Lock接口,它提供了比synchronized更加广泛的锁定操作。Lock接口有3个实现它的类:ReentrantLock、ReetrantReadWriteLock.R 阅读全文
posted @ 2018-07-29 23:49 笨笨的阿龙索 阅读(278) 评论(0) 推荐(0) 编辑
摘要:一、方法概览 二、Executor框架简介 在Java 5之后,并发编程引入了一堆新的启动、调度和管理线程的API。Executor框架便是Java 5中引入的,其内部使用了线程池机制,它在java.util.cocurrent 包下,通过该框架来控制线程的启动、执行和关闭,可以简化并发编程的操作。 阅读全文
posted @ 2018-07-29 02:05 笨笨的阿龙索 阅读(145) 评论(0) 推荐(0) 编辑
摘要:volatile资料见:https://blog.csdn.net/ns_code/article/details/17101369 1、volatile变量是一种稍弱的同步机制在访问volatile变量时不会执行加锁操作,因此也就不会使执行线程阻塞,因此volatile变量是一种比synchron 阅读全文
posted @ 2018-07-26 01:12 笨笨的阿龙索 阅读(120) 评论(0) 推荐(0) 编辑
摘要:加锁(synchronized同步)的功能不仅仅局限于互斥行为,同时还存在另外一个重要的方面:内存可见性。我们不仅希望防止某个线程正在使用对象状态而另一个线程在同时修改该状态,而且还希望确保当一个线程修改了对象状态后,其他线程能够看到该变化。而线程的同步恰恰也能够实现这一点。 内置锁可以用于确保某个 阅读全文
posted @ 2018-07-26 01:10 笨笨的阿龙索 阅读(337) 评论(0) 推荐(0) 编辑
摘要:每个Java对象都可以用做一个实现同步的锁,这些锁被称为内置锁或监视器锁。线程在进入同步代码块之前会自动获取锁,并且在退出同步代码块时会自动释放锁。获得内置锁的唯一途径就是进入由这个锁保护的同步代码块或方法。 当某个线程请求一个由其他线程持有的锁时,发出请求的线程就会阻塞。然而,由于内置锁是可重入的 阅读全文
posted @ 2018-07-26 00:52 笨笨的阿龙索 阅读(127) 评论(0) 推荐(0) 编辑
摘要:在并发编程中,多线程同时并发访问的资源叫做临界资源,当多个线程同时访问对象并要求操作相同资源时,分割了原子操作就有可能出现数据的不一致或数据不完整的情况,为避免这种情况的发生,我们会采取同步机制,以确保在某一时刻,方法内只允许有一个线程。 采用synchronized修饰符实现的同步机制叫做互斥锁机 阅读全文
posted @ 2018-07-26 00:21 笨笨的阿龙索 阅读(173) 评论(0) 推荐(1) 编辑
摘要:在Java中,可以通过配合调用Object对象的wait()方法和notify()方法或notifyAll()方法来实现线程间的通信。在线程中调用wait()方法,将阻塞等待其他线程的通知(其他线程调用notify()方法或notifyAll()方法),在线程中调用notify()方法或notify 阅读全文
posted @ 2018-07-25 23:45 笨笨的阿龙索 阅读(264) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示