随笔 - 424  文章 - 0  评论 - 89  阅读 - 48万

随笔分类 -  java并发编程

线程池ThreadPoolExecutor各个参数的意义以及设置技巧
摘要:一、ThreadPoolExecutor的重要参数 参考博客:线程池ThreadPoolExecutor各个参数的意义以及设置技巧 阅读全文
posted @ 2024-12-28 13:12 有点懒惰的大青年 阅读(3) 评论(0) 推荐(0) 编辑
如何捕获线程池执行产生的异常
摘要:1.如何捕获线程池执行产生的异常 就像例子1中所写的那样,executor执行一个Runnable接口,在Runnable的实现lambda表达式中try catch了异常之后,是没办法throw e往外抛出异常的。在main线程中想catch住线程池执行的异常,也catch不到。如果这样写是不行的 阅读全文
posted @ 2024-11-03 16:31 有点懒惰的大青年 阅读(170) 评论(0) 推荐(0) 编辑
CAS概念和解析
摘要:一、CAS概念 package syncbasics; import java.util.concurrent.CountDownLatch; /** * 多线程访问同一份数据,会产生竞争,race condition => 竞争条件 * 就有可能产生数据的不一致,并发访问之下产生的不期望出现的结果 阅读全文
posted @ 2022-03-19 12:46 有点懒惰的大青年 阅读(226) 评论(0) 推荐(0) 编辑
多线程使用的一些例子
摘要:一、例子1: console: 二、例子2: 三、例子3: console: 阅读全文
posted @ 2019-11-11 14:54 有点懒惰的大青年 阅读(1345) 评论(0) 推荐(0) 编辑
CompletableFuture用法介绍
摘要:一、CompletableFuture用法入门介绍 入门介绍的一个例子: 1 package com.cy.java8; 2 3 import java.util.Random; 4 import java.util.concurrent.CompletableFuture; 5 6 public 阅读全文
posted @ 2019-09-30 22:10 有点懒惰的大青年 阅读(1321) 评论(0) 推荐(0) 编辑
CompletableFuture引入
摘要:一、Future介绍 Future以前我们如果有个方法action执行,比如去数据库中查询数据、上传一个文件等,这个方法执行10分钟,调用者就需要等10分钟。基于此,调用者可以先执行action,返回一个票据future,然后可以继续做其他的事情,这样就不阻塞了,完全异步化。然后可以根据future 阅读全文
posted @ 2019-09-29 22:10 有点懒惰的大青年 阅读(415) 评论(0) 推荐(0) 编辑
CountDownLatch的使用
摘要:参考自博客:https://zapldy.iteye.com/blog/746458,感觉很好,简单易懂。 举个例子,有三个工人在为老板干活,这个老板有一个习惯,就是当三个工人把一天的活都干完了的时候,他就来检查所有工人所干的活。记住这个条件:三个工人先全部干完活,老板才检查。所以在这里用Java代 阅读全文
posted @ 2019-06-20 14:26 有点懒惰的大青年 阅读(258) 评论(0) 推荐(0) 编辑
ReentrantLock的使用
摘要:一、使用ReentrangLock实现多线程同步 例子:模拟妻子和丈夫去取钱,银行卡余额为100元,两个人同时取100元,那么最终余额应该是0元,有一个人取不出钱。 妻子和丈夫分别来取钱,那么如果其中一人取走100元,另一个应该就没法取钱了,因为余额为0了。 妻子和丈夫分别来取钱,那么如果其中一人取 阅读全文
posted @ 2019-05-05 20:22 有点懒惰的大青年 阅读(535) 评论(0) 推荐(0) 编辑
FutureTask的用法以及两种常用的使用场景
摘要:参考博客:https://blog.csdn.net/linchunquan/article/details/22382487 FutureTask可用于异步获取执行结果或取消执行任务的场景。通过传入Runnable或者Callable的任务给FutureTask,直接调用其run方法或者放入线程池 阅读全文
posted @ 2019-05-05 17:16 有点懒惰的大青年 阅读(669) 评论(0) 推荐(0) 编辑
FutureTask的使用
摘要:一、例子: console输出: 二、可以参考这篇博客对future、callable的说明:http://www.cnblogs.com/dolphin0520/p/3949310.html 阅读全文
posted @ 2018-11-26 16:14 有点懒惰的大青年 阅读(240) 评论(0) 推荐(0) 编辑
java高并发编程(五)线程池
摘要:摘自马士兵java并发编程 一、认识Executor、ExecutorService、Callable、Executors /** * 认识Executor */ package yxxy.c_026; import java.util.concurrent.Executor; public cla 阅读全文
posted @ 2018-08-27 23:24 有点懒惰的大青年 阅读(2912) 评论(0) 推荐(0) 编辑
java高并发编程(四)高并发的一些容器
摘要:摘抄自马士兵java并发视频课程; 一、需求背景: 有N张火车票,每张票都有一个编号,同时有10个窗口对外售票, 请写一个模拟程序。 分析下面的程序可能会产生哪些问题?重复销售?超量销售? /** * 有N张火车票,每张票都有一个编号 * 同时有10个窗口对外售票 * 请写一个模拟程序 * * 分析 阅读全文
posted @ 2018-08-17 23:00 有点懒惰的大青年 阅读(894) 评论(0) 推荐(1) 编辑
java高并发编程(三)
摘要:java高并发主要有三块知识点: synchronizer:同步器,在多个线程之间互相之间怎么进行通讯,同步等; 同步容器:jdk提供了同步性的容器,比如concurrentMap,concurrentList,BlockQueen等; ThreadPool:线程池,executor,java在前两 阅读全文
posted @ 2018-08-17 00:11 有点懒惰的大青年 阅读(392) 评论(0) 推荐(0) 编辑
java高并发编程(二)
摘要:马士兵java并发编程的代码,照抄过来,做个记录。 一、分析下面面试题 /** * 曾经的面试题:(淘宝?) * 实现一个容器,提供两个方法,add,size * 写两个线程,线程1添加10个元素到容器中,线程2实现监控元素的个数,当个数到5个时,线程2给出提示并结束 * * 分析下面这个程序,能完 阅读全文
posted @ 2018-07-21 01:30 有点懒惰的大青年 阅读(600) 评论(0) 推荐(0) 编辑
java高并发编程(一)
摘要:读马士兵java高并发编程,引用他的代码,做个记录。 一、分析下面程序输出: /** * 分析一下这个程序的输出 * @author mashibing */ package yxxy.c_005; public class T implements Runnable { private int c 阅读全文
posted @ 2018-07-19 22:00 有点懒惰的大青年 阅读(5858) 评论(0) 推荐(0) 编辑
java多线程(2) 线程同步
摘要:我们对线程访问同一份资源的多个线程之间,来进行协调的这个东西,就是线程同步。 例子1:模拟了多个线程操作同一份资源,可能带来的问题: package com.cy.thread; public class TestSync implements Runnable{ Timer timer = new 阅读全文
posted @ 2017-07-04 00:13 有点懒惰的大青年 阅读(288) 评论(0) 推荐(0) 编辑
java多线程(1) 线程的基本概念
摘要:一、线程的基本概念: 线程是一个程序里面不同的执行路径。 程序里面不同的执行路径,每一个分支都是一个线程。 进程:静态的概念。机器上的一个class文件,机器上的一个exe文件,这叫一个进程。 机器里面实际上运行的都是线程。 window等。linux等都是多进程,多线程的系统。 CPU的执行是这样 阅读全文
posted @ 2017-07-03 21:47 有点懒惰的大青年 阅读(281) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示