
concurrent
FlyingZCC
Apache ShardingSphere Committer
GitHub: https://github.com/FlyingZC
Blog: https://flyingzc.github.io
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ThreadPoolExecutor实现
ThreadPoolExecutor ThreadPoolExecutor 是 JDK 中的线程池实现,这个类实现了一个线程池需要的各个方法,它实现了任务提交,线程管理,监控等等方法. 我们可以基于它来进行业务上的扩展,以实现我们需要的其他功能,比如实现定时任务的类 ScheduledThreadPoolExecutor 就继承自 ThreadPoolExecutor.当然,这不是本文关注的重点,下面,还是赶紧进行源码分析吧. 首先,我们来看看线程池实现中的几个概念和处理流程. 提交任务的几个方法: pub原创 2021-07-21 00:46:32 · 247 阅读 · 0 评论 -
Java对象头
Java对象头 com.zc.my.A object internals: OFFSET SIZE TYPE DESCRIPTION VALUE 0 4 (object header) 01 00 00 00 (00000001 00000000 00000000 00000000) (1) 4 4 (o原创 2021-04-18 22:18:42 · 121 阅读 · 0 评论 -
synchronized 与 Lock 性能比较
synchronized 与 Lock 性能比较 JDK1.8 D:\soft\Java\jdk1.8.0_172\bin\java.exe "-javaagent:D:\soft\JetBrains\IntelliJ IDEA 2018.1.6\lib\idea_rt.jar=57167:D:\soft\JetBrains\IntelliJ IDEA 2018.1.6\bin" -Dfile.e...原创 2019-12-03 08:00:38 · 777 阅读 · 0 评论 -
yield,sleep,join方法的使用
一.yield:Thread类中的静态方法 该方法用于使当前线程主动让出当次CPU时间片回到Runnable状态,等待分配时间片。注意当前线程使用yield之后仍有可能立即又获得时间片,从Runnable态进入Running态 package com.zc; public class Z01Yield { public static void main(String[] args) {原创 2016-10-24 21:12:13 · 2034 阅读 · 0 评论 -
一、Java线程状态转换
1、新建(new Thread()):新创建一个线程。 2、可运行态(runnable):当新创建的线程调用了start()方法,即进入可运行态,等待线程调度。 3、运行态(running):当 线程获取cpu资源,获取时间片,则进入运行态。 4、阻塞态(block):阻塞状态是指线程因为某种原因放弃了cpu使用权,也即让出了时间片,暂时停止运行。直到线程再次进入可运行(runnable)状原创 2016-10-19 13:43:47 · 2934 阅读 · 0 评论 -
二、创建线程的几种方式
一、使用Thread创建线并启动线程java.lang.Thread类是线程类,其每一个实例表示一个可以并发运行的线程。我们可以通过继承该类并重写run方法来定义一个具体的线程。其中重写run方法的目的是定义该线程要执行的逻辑。启动线程时调用线程的start()方法而非直接调用run()方法。start()方法会将当前线程纳入线程调度,使当前线程可以开始并发运行。当线程获取时间片段后会自动开始执行原创 2016-10-19 20:45:40 · 4817 阅读 · 0 评论