`提示:理解java线程,多线性,异步使用方式
- 目前有使用的常用,应用例子:
- (1)在一个方法中,需要多处查询数据时,
- 比如第一查询会员的优惠券的记录;
- 第二需要查询会员的各种卡的数据内容;
- 第三需要查询会员的消费情况;
- 但是,这里是不需要去等到第一完成后,才去查询第二个的…
- 此时,就需要有一个方式,去实现异步同时查询出来;
- 所有,在这里需要采用多线程的方式
学习内容:
提示:Java多线程实现异步调用的方法
例如:
- 如何实现一个线程的;怎么实现异步调用的
- 关键词:Runnable;Thread
- 掌握的关键语句:
(1)普通方式:
new Thread() {
@Override
public void run() {
//执行所需要的方法
}
}
}.start();
(2)java 8新特性方式:
Runnable runnable1 = () -> getErpMemberCoupon(couponList, dto);//执行的方法
学习时间:
`提示:2022-4-20日至2022-4-21日
学习产出:
`提示:记忆性与实战相结合,证明多线程确实增加了这种需要长时间,多数据的查询
首先:
一、用java8新特性来讲:
ambda表达式,实际上就是匿名函数。
格式如下:
()里面是函数的参数,中间是箭头, {}是函数的代码块,{}包含了函数的执行以及返回结果。
()->{}
新开一个线程:
不使用lambda:
Runnable runnable = new Runnable() {
@Override
public void run() {
System.out.println("执行run()方法.");
}
};
使用lambda:
Runnable runnable = () -> System.out.println("执行run()方法.");
实验结果:因为没有整体性的线程运行,因此,多线程不适合引用;之后,采用了线程池的做法,发现此时是比较符合
结果:
2022年4月21日:线程池的加入,使得原本定时器在6个小时以上的速率,变为现在的几十分钟,效果甚好
接下来记录一下这一天的学习内容以及学习
分为两部分:一、多线程的理解:
参考博客(异步多线程有哪些实现方式):https://blog.csdn.net/mr_wanter/article/details/116234331
参考博客(JAVA多线程补充):https://blog.csdn.net/sbshi007/article/details/4640776
二、
对于线程池的理解:https://blog.csdn.net/weixin_38308374/article/details/113446475
线程池的补充:
- 技术笔记 2 遍
- CSDN 技术博客 2 篇



