
java多线程
文章平均质量分 76
lichuangcsdn
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【java多线程】线程间通信-利用wait和notify轮流按序打印奇数和偶数
在多线程编程中,wait和notify是实现线程间通信的关键机制。wait方法使当前线程进入等待状态,并释放持有的锁,直到其他线程调用notify或notifyAll方法唤醒它。notify用于唤醒单个等待线程,而notifyAll则唤醒所有等待线程。这些方法必须在synchronized同步块或方法中使用,以确保线程安全。通过一个交替打印奇偶数的示例,展示了如何利用wait和notifyAll实现线程间的协调与通信,确保线程按顺序执行任务,直至完成指定条件。原创 2025-05-18 22:45:54 · 462 阅读 · 0 评论 -
Future 和 FutureTask用于接收callable的返回值
例子如下:package com.company.demo1;import java.util.Arrays;import java.util.List;import java.util.concurrent.Callable;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executor...原创 2018-06-30 14:29:45 · 1372 阅读 · 0 评论 -
使用CompletableFuture构建异步应用(1)
public static void main(String[] args) throws Exception { ExecutorService executorService = Executors.newFixedThreadPool(3); ThreadTask threadTask = new ThreadTask(); String name = "1";...原创 2018-06-30 14:32:34 · 735 阅读 · 0 评论 -
使用CompletableFuture构建异步应用(2)
public static void main(String[] args) { long t1 = System.currentTimeMillis(); ExecutorService executorService = Executors.newFixedThreadPool(4); ThreadCompleteFutureTest threadComplete...原创 2018-06-30 14:33:48 · 536 阅读 · 0 评论 -
ForkJoin使用
Fork/Join框架是Java 7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。Fork/Join框架要完成两件事情: 1.任务分割:首先Fork/Join框架需要把大的任务分割成足够小的子任务,如果子任务比较大的话还要对子任务进行继续分割 2.执行任务并合并结果:分割的子任务分别放到双端队列里,然后几个启动线程分别从双端队...原创 2018-06-30 14:35:57 · 1354 阅读 · 1 评论 -
synchronized和ReentrantLock的对比
synchronized:1、依赖于JVM的底层实现;2、获取到锁后,再执行完任务或者出现异常时会自动释放锁;3、是非公平锁,也就是说一个线程可能会多次得到该锁;4、是重量级锁,是悲观锁,类似于数据库直接加for update进行锁住。ReentrantLock:1、是Java的一个类,需要手动编码;2、获取到锁后,需要手动释放,一般是在finally代码块中进行锁的释...原创 2019-02-22 00:24:40 · 317 阅读 · 0 评论