java多线程
文章平均质量分 54
学思结合
学而不思则罔,思而不学则殆。
展开
-
双重检测加synchronized以及volatile实现单例懒汉式加载bean
懒汉式单例模式一、概述 懒汉式单例模式和饿汉式单例模式有着明显的区别,懒汉式单例模式是当且仅当第一次使用某个bean对象时才会创建一个bean实例对象;而饿汉式单例模式是指在类加载过程中的初始化阶段就直接创建bean实例对象。二、懒汉式单例实现实例代码核心部分如下: // 定义dclTest引用 private static volatile DCLTest dclTest = null;原创 2021-03-25 01:00:17 · 1330 阅读 · 6 评论 -
java中join实现让主线程等待所有子线程执行完在继续往下执行
一、join方法介绍 java里面如果一个主线程中启动了多个子线程,那么我们如何保证所有子线程一定在主线程结束之前全部执行完成呢,答案就是使用子线程的join()方法,join方法可以让主线程等待子线程执行完成再结束。二、实例1、首先注释掉代码中子线程调用join()方法的代码,如下程序例子以及运行结果:package ioctest;import java.util.ArrayList;/** *原创 2021-03-23 23:16:04 · 1244 阅读 · 2 评论 -
java中synchronized同步锁实现生产者消费者模式
synchronized介绍一、基本概念 synchronized关键字是java里面用来在多线程环境下保证线程安全的同步锁;java里面有对象锁和类锁,对象锁是用在对象实例的方法上或者一个对象实例上的,而类锁是用在一个类的静态方法上或者一个类的class对象上的。所以对于对象锁,不同的实例对象的对象锁不同,但是类锁只有一个,所有的对象实例共享这个类锁二、synchronize使用场景1、修饰类中的普通方法:在类中的普通方法上加上synchronized修饰,锁对象是调用当前同步方法的对象实例,线程原创 2021-03-14 13:38:16 · 3322 阅读 · 8 评论