文章分类 -  线程

摘要:解决方案一:这里采用FutureTask开启一个线程调用jdbc执行方法,主方法在10分钟后进行查询是否完成,根据isDone的结果去处理,简单介绍下FutureTask几个常用的方法 cancel方法用来取消任务,如果取消任务成功则返回true,如果取消任务失败则返回false。参数mayInte 阅读全文
posted @ 2023-04-07 15:39 来一杯coffee 阅读(642) 评论(0) 推荐(0)
摘要:Collections.synchronizedList使用 来源 1.SynchronizedList类具体代码: static class SynchronizedList<E> extends SynchronizedCollection<E> implements List<E> { pri 阅读全文
posted @ 2022-05-10 14:21 来一杯coffee 阅读(393) 评论(0) 推荐(0)
摘要:CountDownLatch的使用和原理解析 参考来源 1、CountDownLatch 概念 CountDownLatch可以使一个获多个线程等待其他线程各自执行完毕后再执行。 CountDownLatch 定义了一个计数器,和一个阻塞队列, 当计数器的值递减为0之前,阻塞队列里面的线程处于挂起状 阅读全文
posted @ 2022-05-10 14:08 来一杯coffee 阅读(165) 评论(0) 推荐(0)
摘要:线程池使用 原文链接 前言 在执行一个异步任务或并发任务时,往往是通过直接new Thread()方法来创建新的线程,这样做弊端较多,更好的解决方案是合理地利用线程池,线程池的优势很明显,如下: 降低系统资源消耗,通过重用已存在的线程,降低线程创建和销毁造成的消耗; 提高系统响应速度,当有任务到达时 阅读全文
posted @ 2022-04-03 18:14 来一杯coffee 阅读(492) 评论(0) 推荐(0)
摘要:来源 阅读目录 一、基本概念 二、Volatile原理 一、基本概念 先补充一下概念:Java 内存模型中的可见性、原子性和有序性。 可见性: 可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉。通常,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的事情。 阅读全文
posted @ 2022-03-23 20:44 来一杯coffee 阅读(61) 评论(0) 推荐(0)
摘要:来源 线程作为程序内部的多个执行流,相互之间是可以通讯的。线程间通讯可以通过多种方式来进行,例如:线程间可以共享变量来进行通讯,使每个线程根据共享变量的值进行操作和运算,当通过共享变量进行通讯时,通常需要引入同步控制, 线程间也可以通过 wati()、notify()和notifyAll()等方法进 阅读全文
posted @ 2022-03-14 15:59 来一杯coffee 阅读(277) 评论(0) 推荐(0)