摘要:
lock 概述: 本质上Lock仅仅是一个接口 Lock有三个实现类 ReentrantLock:表示重入锁 它是唯一一个实现了Lock接口的类 重入锁指的是线程在获得锁之后 再次获取该锁不需要阻塞 而是直接关联一次计数器增加重入次数 ReentrantReadWriteLock:重入读写锁 它实现 阅读全文
摘要:
synchronized 概述: synchronized是Java中的关键字 可以给方法和代码块加锁 (synchronized底层好像是通过C实现的) 可以保证方法或者代码块在运行时 同一时刻只有一个线程可以进入到临界区(临界区就是synchronized锁住的区域) Java中每一个对象都可以 阅读全文
摘要:
Java锁概念 在Java中 保证线程安全的方案分为两种:同步、无同步、 造成线程安全问题的原因就是:多线程情况下共享变量的写操作不安全 所以解决方案也就是针对共享的变量进行的 同步共享变量 或者 不同步共享变量 同步: 互斥(阻塞):互斥是实现同步的一种手段 属于悲观的并发策略 多线程并发访问共享 阅读全文
摘要:
继承Thread类 示例如下: public static void main(String[] args) { System.out.println("主线程启动:"+Thread.currentThread().getName()); new Thread02().start(); } publ 阅读全文
摘要:
并发、并行、同步、线程安全 **并发:**并发的关键是你有处理多个任务的能力 不一定要同时 **并行:**并行的关键是你有同时处理多个任务的能力 **同步:**通过控制和调度 来保证多线程中共享资源的数据一致性 线程安全:用来描绘一段代码 指在并发的情况之下 该代码经过多线程使用 线程的调度顺序不影 阅读全文
摘要:
**概述:**HashMap 键值对、无序、非线程安全、效率高 HashMap允许null值(key和value都允许) key不能重复 数据结构 在 1.7及之前是:数组加链表 1.8是:数组加链表/红黑树 优缺点: 数组 -- 查询效率 O(1) 能直接通过hash值找到位置 不用做其他操作 不 阅读全文