java多线程与并发
java多线程与并发
myllxy
欢迎关注知乎专栏:https://www.zhihu.com/column/c_1274036496291827712
展开
-
java多线程(12) Runable与Callable
Runable与Callable都是接口:@FunctionalInterfacepublic interface Callable<V> { /** * Computes a result, or throws an exception if unable to do so. * * @return computed result * @throws Exception if unable to compute a result *原创 2020-07-28 14:19:00 · 236 阅读 · 0 评论 -
java多线程(11) Future与CompletableFuture
java的future在执行get时是会阻塞的,直到拿到返回结果才会执行后面的逻辑,这和js中的axiso异步不同,并不是我们想要的:原创 2019-06-17 19:35:17 · 427 阅读 · 0 评论 -
java多线程(10) 线程池与tomcat
线程池方面的东西可以看这篇博客:面试必备:Java线程池解析这里可以谈谈jdk中的线程池和tomcat中的线程池。我们知道tomcat并没有使用jdk的线程池,而是基于jdk的线程池额外扩展了,是jdk原生线程池不好用吗?当然不是在jdk原生线程池中:只要线程池线程数量大于核心线程数,就会先将任务加入到任务队列中,只有任务队列加入失败,才会再新建线程。也就是说原生线程池队列未满之前,最多只有核心线程数量线程。由于 Tomcat/Jetty 需要处理大量客户端请求任务,如果采用原生线程池,一旦接受请求原创 2020-07-19 18:16:38 · 1335 阅读 · 0 评论 -
java多线程(9) threadlocal与弱引用
threadlocal本质的作用就是线程之间对变量操作的隔离我们看看它内部是怎么实现的set方法:原创 2019-12-14 17:00:16 · 368 阅读 · 0 评论 -
java多线程(8) cpu与多线程
- 一个exe文件运行到内存中就是一条条的指令,CPU将指令从内存中读取到寄存器中进行执行,每条指令结束后将结果返回,PC程序计数器用于存储下一条指令的地址原创 2019-05-28 19:51:31 · 339 阅读 · 0 评论 -
java多线程(6) volatile
volatile的作用: 1. 只是保证变量的内存可见性 2. 禁止指令重排序原创 2019-04-06 11:25:06 · 177 阅读 · 0 评论 -
java多线程(5) 内存不可见、重排序与happens-before
内存不可见我们知道,java运行时数据区中有堆、栈、程序计数器等,其中用于存放变量的堆是共享的,但是在堆中却仍然有内存可见性的问题。这是因为现代计算机为了高效,往往会在高速缓存区中缓存共享变量,因为cpu访问缓存区比访问内存要快得多。转载 2018-11-01 20:07:15 · 299 阅读 · 0 评论 -
java多线程(4) 线程间的通信
一.锁与同步在Java中,锁的概念都是基于对象的,所以我们又经常称它为对象锁。可以以解释为:线程同步是线程之间按照一定的顺序执行。转载 2018-11-25 16:47:19 · 2636 阅读 · 2 评论 -
java多线程(3) join的作用
Join()方法,使调用此方法的线程wait()(在例子中是main线程),直到调用此方法的线程对象所在的线程(在例子中是子线程)执行完毕后被唤醒。原创 2018-11-27 14:29:17 · 464 阅读 · 0 评论 -
java多线程(2) 线程的创建和使用
创建一个新的执行线程有两种方法方法一:new MyThread01().start();定义子类继承Thread类。 子类中重写Thread类中的run方法。 创建Thread子类对象,即创建了线程对象。 调用线程对象start方法:启动线程,调用run方法。package nsu.myllxy;public class ThreadTest01 { pub...原创 2018-11-18 21:33:57 · 1671 阅读 · 0 评论 -
java多线程(7)对象头的理解
java中new一个对象占多少字节?有一个叫jol的工具可以帮我们看到:原创 2019-08-09 16:44:26 · 271 阅读 · 0 评论 -
java多线程(1) 基本概念:程序、进程、线程
程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一 段静态的代码,静态对象 进程(process)是程序的一次执行过程,或是正在运行的一个程序。是一个动态 的过程:有它自身的产生、存在和消亡的过程。——生命周期 线程(thread),进程可进一步细化为线程,是一个程序内部的一条执行路径线程作为调度和执行的单位,每个线程拥有独立的运行栈和程序计数器(pc),线...原创 2018-08-08 12:16:30 · 785 阅读 · 0 评论