![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JUC
ethannotlazy
这个作者很懒,什么都没留下…
展开
-
1115. 交替打印FooBar
题目描述我们提供一个类:class FooBar { public void foo() { for (int i = 0; i < n; i++) { print("foo"); } } public void bar() { for (int i = 0; i < n; i++) { print("bar"); } }}两个不同的线程将会共用一个 FooBar 实例。其中一个线程将会调用 foo() 方法,另原创 2021-04-30 23:40:42 · 300 阅读 · 1 评论 -
利用Callable和Future类创建线程
Callable该接口包含一个函数call,实现该方法来定义一个任务,这个任务具有返回值T,且可以抛出异常。Callable的源码如下:@FunctionalInterfacepublic interface Callable<V> { V call() throws Exception;}Future一个Future对象代表一个异步计算的结果,该类提供了方法用...原创 2020-05-03 23:13:55 · 475 阅读 · 0 评论 -
Executor源码浅析
Executor该类用来执行提交的任务,对任务提交和任务执行之间进行解耦,任务执行的细节包括线程的使用、调度等。通常使用Executor而不是明确地创建线程。Executor的源码如下:public interface Executor { /** * 在未来一定时间内执行给出的命令,这个命令可能在新线程、线程池的线程、调用线程执行,这取决于Executor的实现。 ...原创 2020-05-05 21:58:13 · 335 阅读 · 0 评论