![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 71
qq_250056868
233~
展开
-
使用forkjoin批量插入数据库表
原创 2022-01-30 15:00:03 · 1345 阅读 · 1 评论 -
多线程之Fork/Join使用
Fork/Join介绍 Fork/Join框架是Java 7提供的用于并行执行任务的框架。具体是把大任务切分为小任务,再把小任务的结果汇总为大任务的结果。核心思想是工作窃取算法,工作窃取算法是指线程从其他任务队列中窃取任务执行。 如何使用Fork/Join 分割任务:首先需要创建一个ForkJoin任务,执行该类的fork方法可以对任务不断切割,直到分割的子任务足够小 合并任务执行结果:子任务执行的结果同一放在一个队列中,通过启动一个线程从队列中取执行结果。 常见使用场景 大数据...原创 2021-07-31 20:17:51 · 1015 阅读 · 1 评论 -
java-可重入锁和不可重入锁
可重入锁(递归锁),指的是以线程为单位,当一个线程获取对象锁之后,这个线程可以再次获取本对象上的锁,而其他的线程是不可以的。 synchronized 和 ReentrantLock 都是可重入锁。 可重入锁的意义之一在于防止死锁。 实现原理实现是通过为每个锁关联一个请求计数器和一个占有它的线程。当计数为0时,认为锁是未被占有的;线程请求一个未被占有的锁时,JVM将记录锁的占有者,并且将请求计数器置为1 。 如果同一个线程再次请求这个锁,计数器将递增; 每次占用线程退出同步块,计数器值将递减。直到计数器原创 2022-01-25 13:59:59 · 497 阅读 · 0 评论 -
java创建线程的三种方式 - 多线程(一)
java创建线程的三种方式 一.继承Thread类创建线程类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。 (2)创建Thread子类的实例,即创建了线程对象。 (3)调用线程对象的start()方法来启动该线程。 package com.zm.thread; /** * (1)定义Thread类的子类 继承Thread */ public class CreateByThread extends Thread{原创 2021-03-07 11:22:35 · 109 阅读 · 1 评论