摘要:CPU 内核数 与 线程数 的关系 一个CPU 内核只能跑一个线程 由于Intel公司引入的超线程技术,使得物理CPU内核和虚拟CPU内核存在一个1:2的关系拓展。 因此如下图,原本4个内核的电脑,同时只能跑4个线程;由于1:2关系,拓展为8个逻辑处理器,因此可以同时跑8个线程。 CPU 时间片轮转
阅读全文
摘要:进程、线程的区别 定义区别 进程是操作系统进行资源分配(CPU, 内存空间,磁盘IO)和调度的一个独立单位; 线程是进程的一个实体, 是CPU调度和分派的最小单位 (操作系统不会为线程分配内存,线程组之间只能共享所属进程的资源) 独立性 进程间相互独立,都有独立的内存地址空间 同一个进程下的线程,可
阅读全文
摘要:https://zhuanlan.zhihu.com/p/37287566 https://www.cnblogs.com/qifengshi/p/6831055.html
阅读全文
摘要:总结 https://www.cnblogs.com/3s540/p/7172146.html;https://zhuanlan.zhihu.com/p/82339746 Thread类是对线程本身的抽象,Runnable/Callable是对业务动作的抽象 Java中创建线程主要有三种方式: 继承
阅读全文
摘要:ThreadLocal常用API void set (Object value)设置当前线程的线程局部变量的值。 public Object get() 该方法返回当前线程所对应的线程局部变量。 public void remove() 将当前线程局部变量的值删除,目的是为了减少内存的占用,该方法是
阅读全文
摘要:ref: java中产生死锁的原因及如何避免 https://blog.csdn.net/m0_38126177/article/details/78587845 java如何避免死锁 http://www.cnblogs.com/vinozly/p/5240204.html
阅读全文
摘要:Java中Future的使用场景和解析 https://blog.csdn.net/hongtaolong/article/details/83349705 (细看!!!)
阅读全文
摘要:总结 类别synchronizedLock 存在层次 Java的关键字,在jvm层面上 是一个类 锁的释放 1、以获取锁的线程执行完同步代码,释放锁 2、线程执行发生异常,jvm会让线程释放锁 在finally中必须释放锁,不然容易造成线程死锁 锁的获取 假设A线程获得锁,B线程等待。如果A线程阻塞
阅读全文
摘要:原子类简介:https://www.cnblogs.com/stephen0923/p/4505902.html AtomicInteger 介绍: https://yuwenlin.iteye.com/blog/2314535
阅读全文
摘要:总结 volatile 最适用的场景:一个线程写,多个线程读 volatile的作用 防止重排序:单例模式代码里,NullPointerException的例子 Java中的happen-before规则:JMM可以通过happens-before关系向程序员提供跨线程的内存可见性保证(如果A线程的
阅读全文
摘要:https://www.cnblogs.com/hckblogs/p/7858545.html
阅读全文
摘要:http://www.cnblogs.com/pureEve/p/6421273.html https://www.cnblogs.com/mingyao123/p/7424911.html
阅读全文
摘要:详见: http://www.cnblogs.com/pureEve/p/6421273.html
阅读全文
摘要:目录 1-Synchronized 关键字概述 2- Synchronized关键字作用域 3- Synchronized 原理(反编译指令解释) 正文 1-Synchronized 关键字概述 由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言
阅读全文
摘要:恢复内容开始 http://www.importnew.com/21089.html https://blog.csdn.net/Evankaka/article/details/44153709 http://wiki.jikexueyuan.com/project/java-concurrenc
阅读全文