![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java多线程
new HashMap
这个作者很懒,什么都没留下…
展开
-
Java内存模型
JVM内存模型 在Java中,采用的是共享内存模型来实现多线程之间的信息交换和数据同步的。 线程之间通过共享程序公共的状态,通过读-写内存中公共状态的方式来进行隐式的通信,同步指的是程序在控制多个线程之间执行程序的相对顺序的机制,在共享内存模型中,同步是显式的,程序员必须显式指定某个方法/代码块需要在多线程之间互斥执行。 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干...原创 2019-01-31 20:54:35 · 144 阅读 · 0 评论 -
线程基础
线程是程序执行的一个路径,每一个线程都有自己的局部变量表、程序计数器(指向正在执行的指令指针)以及各自的生命周期,当启动一个Java虚拟机(JVM)时,从操作系统开始就会创建一个新的进程(JVM)进程,JVM进程中将会派生或者创建很多线程。 启动新的线程,只有调用了Thread的start方法,才派生了一个新的线程。 线程的生命周期:NEW、RUNNABLE、RU...原创 2019-02-01 13:15:23 · 147 阅读 · 0 评论 -
Java多线程-synchronized使用
首先来看典型的多窗口售票的例子: package com.thread.syn; import java.util.concurrent.TimeUnit; public class RunnableImpl implements Runnable{ private int tickets = 100; @Override public void run() { // TODO ...原创 2019-02-02 15:10:54 · 257 阅读 · 0 评论 -
Java 锁
公平锁/非公平锁: 公平锁是指多个线程按照申请锁的顺序来获取锁,非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程优先获取锁。非公平锁的优点:在于可以减少唤起线程的开销,吞吐量比公平锁大,因为线程有几率不阻塞直接获得锁,CPU不必唤醒所有线程;公平锁的优点是等待锁非公平锁的缺点:可能会造成优先级反转或者饥饿现象,或者等很久才会获得锁 ReentrantLock通过构造函数...原创 2019-02-14 21:35:34 · 104 阅读 · 0 评论 -
单例模式
1.饿汉式(静态常量)【可用】 public class Singleton1 { private final static Singleton1 INSTANCE = new Singleton1(); private Singleton1() {} public static Singleton1 getInstance() { return INSTANCE; }...原创 2019-02-12 23:08:04 · 146 阅读 · 0 评论 -
ThreadPoolExecutor 使用
public class ThreadPoolExecutorTest implements Runnable { @Override public void run() { // TODO Auto-generated method stub System.out.println(Thread.currentThread().getName()...转载 2019-04-08 09:49:04 · 993 阅读 · 0 评论 -
BlockingQueue 使用
抛出异常 特殊值 阻塞 超时 插入 add(e) offer(e) put(e) offer(e,time,unit) 移除 remove() poll() take() poll(time,unit) 检查 element() peek() 不可用 不可用 ...原创 2019-04-15 19:12:23 · 135 阅读 · 0 评论