java Thread 类的源码阅读(oracle jdk1.8)
摘要:java线程类的源码分析阅读技巧; 首先阅读thread类重点关注一下几个问题; 1、start() ,启动一个线程是如何实现的? 2、java线程状态机的变化过程以及如何实现的? 3、 1、start方法的源码如下: new Thread(Runnable);代码内部实际代码如下: /** * I
阅读全文
posted @
2019-03-27 22:31
张释文
阅读(658)
推荐(0) 编辑
java volatile关键字
摘要:概述 Java语言中关键字 volatile 被称作轻量级的 synchronized,与synchronized相比,volatile编码相对简单且运行的时的开销较少,但能够正确合理的应用好 volatile 并不是那么的容易,因为它比使用锁更容易出错,接下来本文主要介绍 volatile 的使用
阅读全文
posted @
2017-06-05 16:24
张释文
阅读(377)
推荐(0) 编辑
java应用死循环排查方法或查找程序消耗资源的线程方法(面试)
摘要:今天遇到一个面试,怎么在一堆线程中查找一个死循环? 如果遇到线上应用cpu飙升,并出现OutOfMemery怎么办? 首先线上应用的jvm配置要养成良好的习惯,增加一下配置则可以在jvm发生 oom的时候自动dump日志了 -XX:+HeapDumpOnOutOfMemoryError -XX:He
阅读全文
posted @
2016-08-15 22:17
张释文
阅读(2012)
推荐(0) 编辑
java并发编程_CountDownLanch(倒计数锁存器)应用场景
摘要:使用介绍: 一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续
阅读全文
posted @
2016-07-26 20:45
张释文
阅读(2862)
推荐(0) 编辑
java中Thread的 interrupt异常处理
摘要:http://blog.csdn.net/srzhz/article/details/6804756
阅读全文
posted @
2016-07-23 21:56
张释文
阅读(280)
推荐(0) 编辑
java并发库_并发库知识点整理
摘要:并发库(java.util.concurrent)中的工具数不胜数,那么我们梳理一下线程并发库中重要的一些常用工具: 1.
阅读全文
posted @
2016-07-21 15:42
张释文
阅读(191)
推荐(0) 编辑
Lock锁的使用示例
摘要:Lock锁是java5用来代替synchronized的一种面向对象的锁的方案 1 public class LockDemo { 2 /** 3 * Lock是用来替换synchronized, 优点是Lock 更加面向对象。eclipse查看接口所有的实现类用CTRL+T 4 ...
阅读全文
posted @
2015-12-13 18:35
张释文
阅读(571)
推荐(0) 编辑
多线程范围内的数据共享
摘要:多线程范围内的共享解决方法参考有4中: 1.如果线程执行的代码相同,多个线程共享同一个runnable对象时,将共享数据放在runnable对象 2.如果多个线程执行的代码不同,将共享数据封装到一个对象中,将这个对象逐一传递给各个runnable对象 3.如果多个线程执行的代码不同,将共享数据作为外
阅读全文
posted @
2015-12-13 12:43
张释文
阅读(2149)
推荐(0) 编辑
优雅的设计单线程范围内的数据共享(ThreadLocal)
摘要:单线程范围内数据共享使用ThreadLocal Person类(优雅的线程范围共享数据设计): ThreaLocal的remove方法,可以移除当前线程绑定在ThreadLocal上的所有变量数据。
阅读全文
posted @
2015-12-13 09:26
张释文
阅读(619)
推荐(0) 编辑
线程池介绍与应用
摘要:package com.ctyun.thread.concurrent; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.S
阅读全文
posted @
2015-12-13 09:20
张释文
阅读(287)
推荐(0) 编辑