springboot+支付宝完成秒杀项目的初体验 思考的问题: 首先是秒杀的商品查询,考虑到是热点数据,所以写一个接口读取当日批次的秒杀商品到redis中(那么接下来对商品的操作都放入redis中)。 当用户抢购商品时,考虑到的是是否在秒杀时间段内以及商品是抢完的问题。首先需要判断该商品是否在秒杀时 ...
分类:
编程语言 时间:
2019-07-10 18:46:48
阅读次数:
112
Callable和Future出现的原因 创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从 ...
分类:
编程语言 时间:
2019-07-10 16:53:53
阅读次数:
151
1.1 用lambda表达式实现Runnable 使用lambda表达式替换匿名类,而实现Runnable接口是匿名类的最好示例。看一下Java 8之前的runnable实现方法,需要4行代码,而使用lambda表达式只需要一行代码。我们在这里做了什么呢?那就是用() {}代码块替代了整个匿名类。 ...
分类:
编程语言 时间:
2019-07-03 16:44:42
阅读次数:
83
Future接口代表异步计算的结果,并且提供方法来检测异步过程的进展。Callable接口与Runnable接口比较类似,提供线程的执行体,即run方法的内容。 Future与Callable结合使用开启一个新线程执行,最大的特点是能提供返回值,这样也就能实现类似同步执行的情况,看以下示例,在新线程 ...
分类:
编程语言 时间:
2019-07-02 22:54:54
阅读次数:
120
一、概述 到目前为止,我们已经能够声明并使一个线程任务运行起来了。但是遇到一个问题:现在定义的任务都没有任何返回值,那么加入我们希望一个任务运行结束后告诉我一个结果,该结果表名任务执行成功或失败,此时该怎么办呢? 答案是使用Callable。之前定义的任务都直接实现了Runnable,该接口的run ...
分类:
编程语言 时间:
2019-07-02 22:45:07
阅读次数:
105
ThreadPoolExecutor构造器参数详解 序号名称类型含义 1 corePoolSize int 线程池维护线程的最少数量 2 maximumPoolSize int 线程池维护线程的最大数量 3 keepAliveTime long 线程最大空闲时间 4 unit TimeUnit 时间 ...
分类:
编程语言 时间:
2019-06-30 00:13:11
阅读次数:
142
35.并行和并发有什么区别? 36.线程和进程的区别? 37.守护线程是什么? 38.创建线程有哪几种方式? 39.说一下 runnable 和 callable 有什么区别? 40.线程有哪些状态? 41.sleep() 和 wait() 有什么区别? 42.notify()和 notifyAll ...
分类:
编程语言 时间:
2019-06-29 13:01:22
阅读次数:
111
准备 : 登录官方网站,获取SDK,进行个人验证后新建项目,获取APP_ID,和SDK_KEY;https://ai.arcsoft.com.cn/ucenter/resource/build/index.html#/ucenter/resource/openPlatform/application ...
分类:
移动开发 时间:
2019-06-28 14:58:35
阅读次数:
186
一。继承Thread类 Thread类本身是实现Runnable接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一个本地的方法,他将启动一个新的线程,并执行run()方法。 具体操作:通过自己创建的类直接继承Thread,重写 ...
分类:
编程语言 时间:
2019-06-28 00:45:40
阅读次数:
202
import java.util.*; import java.text.*; class MyRunnable implements Runnable { @Override public void run() { System.out.println("in MyRunnable run"); ... ...
分类:
编程语言 时间:
2019-06-26 01:16:03
阅读次数:
128