java多线程知识学习
多线程是java的重要组成部分也是我们面试必考的内容,这里我就java的线程同步锁、wait,notify线程等待和多线程threadPool等的认识做简单理解和实例解说;
老马识途2.0
始于颜值,陷于才华,终于人品,合于性格...
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第九章:java 并发容器类了解与使用
文章转自: https://blog.youkuaiyun.com/u012453843/article/details/73824159并发类容器是专门针对并发设计的,使用ConcurrentHashMap来代替给予散列的传统的HashTable,而且在ConcurrentHashMap中,添加了一些常见复合操作的支持。以及使用了CopyOnWriteArrayList代替Vector,并发的CopyOnW...转载 2018-04-23 18:39:32 · 286 阅读 · 0 评论 -
第八章:并发类容器之Queue
文章转自: https://blog.youkuaiyun.com/u012453843/article/details/73863615 在并发队列上JDK提供了两套实现,一个是以ConcurrentLinkedQueue为代表的高性能队列,一个是以BlockingQueue接口为代表的阻塞队列,无论哪种都继承自Queue。如下图所示。 首先我们来学Concurrent...转载 2018-04-23 18:38:50 · 236 阅读 · 0 评论 -
第七章:同步类容器,vector 线程安全与hashmap线程不安全等的举例
转自:https://blog.youkuaiyun.com/u012453843/article/details/73744277 同步类容器,常见的有Vectorr和HashTable,也就是我们常说的线程安全的两个集合容器,这些容器的同步功能其实都是由JDK的Collections.synchronized***等工厂方法去创建的。其底层的机制无非就是用传的synchronized关键字对每个共用的方...转载 2018-04-22 10:58:20 · 462 阅读 · 0 评论 -
第六章:单利模式,懒汉式,饿汉式以及静态内部类,双重检查
文章转自:https://blog.youkuaiyun.com/u012453843/article/details/73743997单例模式,最常见的就是饥饿模式和懒汉模式,一个直接实例化对象,一个在调用方法时进行实例化对象。 大家见的最多的莫过于下面这种单例模式了,这种模式是懒汉模式,就是说只有你调用getInstance方法的时候,它才会创建实例。但是这种方式有个非常致命的问题就是在多线程...转载 2018-04-21 18:41:41 · 2704 阅读 · 0 评论 -
第五章:多线程通信---wait和notify
线程通信概念:线程是操作系统中独立的个体,但这些个体如果不经过特殊的处理就不能成为一个整体,线程间的通信就成为整体的必用方式之一。当线程存在通信指挥,系统间的交互性会更大,在提高CPU利用率的同时还会使开发人员对线程任务在处理的过程中进行有效的把控与监督。 使用wait/notify方法实现线程间的通信。(注意这两个方法都是object的类的方法,换句话说java为所有的对象都...转载 2018-04-21 17:29:19 · 213 阅读 · 0 评论 -
第四章:java 多线程volatile关键字 atomic类学习 java 原子性讲解,变量可见与不可见说明
volatile概念:volatile关键字的主要作用是使变量在多个线程间可见。 在说volatile关键字之前,先来看两个小例子:package com.xiaoyexinxin.ThreadLearn;public class RunThread extends Thread{ private int num=0; public void setNum(int num)...原创 2018-04-21 16:53:56 · 569 阅读 · 0 评论 -
第三章:java线程重入锁学习
重入锁,顾名思义,就是支持重进入的锁,它表示该锁能够支持一个线程对资源的重复加锁。重进入是指任意线程在获取到锁之后能够再次获取该锁而不会被锁阻塞,该特性的实现需要解决以下两个问题。1、线程再次获取锁。锁需要去识别获取锁的线程是否为当前占据锁的线程,如果是,则再次成功获取。2、锁的最终释放。线程重复n次获取了锁,随后在第n次释放该锁后,其他线程能够获取到该锁。锁的最终释放要求锁对于获取进行计数自增,...原创 2018-04-20 15:44:52 · 266 阅读 · 0 评论 -
第二章,数据库脏读,oracle和mysql防止脏读原理
文章转自:https://blog.youkuaiyun.com/u012453843/article/details/72865687先看如下代码:package com.xiaoyexinxin.ThreadLearn;public class DirtyRead { private String username = "bjfdz"; private String passw...转载 2018-04-20 13:12:29 · 4473 阅读 · 0 评论 -
第一章:线程锁synchronized学习
package com.xiaoyexinxin.ThreadLearn;public class MyThread extends Thread{ private int count=5; //synchronized加锁 public synchronized void run(){ count --; System.out.println(this.currentTh...原创 2018-04-20 12:42:39 · 383 阅读 · 0 评论