Java多线程高并发
极致人生
这个作者很懒,什么都没留下…
展开
-
Java多线程高并发之ThreadPool
前边我们讲述了:Java多线程高并发之基础概念篇、Java多线程高并发之详解JUC同步工具 分别从以下几个方面了解线程的概念及如何使用: 1、线程是什么?为什么需要多线程?Java如何实现多线程? 2、Java对多线程的基础操作:线程的状态扭转,线程的创建、终止、中断、等待和通知、挂起和执行、等待结束和谦让,synchronized实现原理及volatile和synchronized关键字在多线程环境下的作用及如何使用。 3、多线程的协作——同步控制工具: ReentrantLock可重入锁:什么情况下可原创 2020-09-27 18:03:02 · 275 阅读 · 0 评论 -
如何度量一段代码的性能?选择性能最佳的实现方式?JMH帮你搞定!
什么是JMH **JMH(Java Microbenchmark Harness)**是用于代码微基准测试的工具套件,主要是基于方法层面的基准测试,精度可以达到纳秒级。该工具是由 Oracle 内部实现 JIT 的大牛们编写的,他们应该比任何人都了解 JIT 以及 JVM 对于基准测试的影响。 官网: http://openjdk.java.net/projects/code-tools/jmh/ 当你定位到热点方法,希望进一步优化方法性能的时候,就可以使用 JMH 对优化的结果进行量化的分析。 JMH 比原创 2020-09-27 14:10:00 · 377 阅读 · 0 评论 -
Java多线程高并发之ThreadLocal详解
在java多线程编程中,ThreadLocal是一个经常被大家提及的知识点,比如ThreadLocal的作用是什么?常用的使用场景有哪些?实现原理是什么等等,只有彻底理解透彻,才能游刃有余地应对,本篇文章就从这几个方面分析理解ThreadLocal: 1、ThreadLocal是什么 2、ThreadLocal的作用是什么 3、ThreadLocal源码分析 4、ThreadLocal内存泄漏问题 一、ThreadLocal是什么 ThreadLoal 变量,线程局部变量,可以这样理解:里面的对象是线程独原创 2020-09-17 17:38:05 · 817 阅读 · 0 评论 -
Java多线程高并发之详解JUC同步工具
1. ReentrantLock可重入锁(锁同一个对象才有可重入的概念) 通过以下代码段来理解: public class TestReentrantLock { Lock lock = new ReentrantLock(); void m1() { try { lock.lock(); //synchronized(this) for (int i = 0; i < 10; i++) { TimeUnit.SECONDS.sleep(1); System.out原创 2020-09-16 18:23:29 · 308 阅读 · 0 评论 -
Java多线程高并发之基础概念篇
一. 基础概念 什么是线程?和进程的区别? 一个程序相当于一个进程,而这个程序中不同的执行路径就是线程。 启动线程的几种方式 1:Thread 2: Runnable 3:Executors.newCachedThrad 创建线程的简单示例: public class T02_HowToCreateThread { static class MyThread extends Thread { @Override public void run() {原创 2020-09-16 17:50:03 · 249 阅读 · 0 评论