
多线程
菜鸡逆袭
合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
线程基础知识_Synchronized_ThreadAPI_自定义锁_获取线程运行时异常
Synchronizedsynchronized包含monitor enter, monitor exit 2个JVM指令(遵循happens-before原则), 执行monitor exit之前必须存在monitor enter指令.由于每个对象与一个monitor产生关联, 线程执行monitor enter时, 就会获取monitor的lock, monitor中存在计数器, 用于记录...原创 2020-02-27 01:28:49 · 349 阅读 · 0 评论 -
线程基础知识_线程生命周期_从JVM内存结构看多线程下的共享资源
线程生命周期线程状态New: 线程创建(new Thread())Runnable: 线程可运行(thread.start()), 注: 调用start并不一定是运行状态, 可能在等待CPU调度Running: 线程进入运行状态Blocked: 阻塞状态(object.wait, Thread.sleep)Terminal: 死亡状态(线程正常/非正常结束运行)thread.st...原创 2020-02-17 16:18:22 · 280 阅读 · 0 评论 -
Java多线程_1_Java内存模型_内存模型的3大特性
Java内存模型:内存分布情况及其关系:主内存:Java内存模型规定所有的变量都保存在主内存中工作内存:每个线程都有自己的工作内存,保存了该线程使用到的变量的主内存副本拷贝主内存与工作内存的关系:线程对变量的所有操作都必须在自己的工作内存中进行,不能直接读写主内存中的变量不同线程之间无法直接访问对方工作内存中的变量线程间变量值的传递均需要通过主内存来完成内存交互操作:java内存...原创 2019-04-04 04:31:03 · 168 阅读 · 0 评论 -
读Java并发编程实践记录_原子性_锁_同步容器详解_任务执行
原子性: 单独的,不可分割的操作不要使用过期状态值来决策当下的状态, 一定要先检查再执行(不检查, 将引发数据修改,丢失)避免延迟初始化(懒加载: 先查看对象 == null, 然后new), 有可能查看对象状态的时候, 对象已经new出来, 只不过还没将对象赋给引用避免复合操作, 例: count++; 非原子性操作, 包含读-改-写三个过程, 不加锁, 必然出错; 强行加锁, 使得整个...原创 2019-07-11 14:10:58 · 249 阅读 · 0 评论 -
手写Java线程池_超详细解说_绝对能运行_代码超详细注释
线程池问题背景只是单纯使用 new Thread(runnable).start(); 的方式创建线程, 将会导致严重的程序性能问题: 1.线程创建, 销毁需要消耗很大的系统资源; 2.虚拟机创建线程的数量是有限的; 2.线程调度切换也将使程序性能下降; 针对这些问题, 对线程数量进行管理, 有效地重复利用线程, 将会很好地提高程序性能.线程池原理使用队列创建一定数量的线程, 当有任务的时...原创 2019-09-26 12:48:48 · 785 阅读 · 4 评论 -
复习Java异常处理_异常分类_自定义异常_线程初步了解
day05 【异常、线程】主要内容异常、线程教学目标 能够辨别程序中异常和错误的区别 说出异常的分类 说出虚拟机处理异常的方式 列举出常见的三个运行期异常 能够使用try…catch关键字处理异常 能够使用throws关键字处理异常 能够自定义异常类 能够处理自定义异常类 说出进程的概念 说出线程的概念 能够理解并发与并行的区别 能够开启新线程第一章 ...原创 2019-10-06 16:16:17 · 213 阅读 · 0 评论