JAVA论述8

JAVA论述8,第1张

JAVA论述8

1.FutureTask类有什么作用?它实现了哪些接口
FutureTask可用于异步获取执行结果或取消执行任务的场景。通过传入Runnable或者Callable的任务给FutureTask,直接调用其run方法或者放入线程池执行,之后可以在外部通过FutureTask的get方法异步获取执行结果,因此,FutureTask非常适合用于耗时的计算,主线程可以在完成自己的任务后,再去获取结果。另外,FutureTask还可以确保即使调用了多次run方法,它都只会执行一次Runnable或者Callable任务,或者通过cancel取消FutureTask的执行等。

FutureTask实现了Runnable和Future接口。

2.volatile关键字有什么作用?
volatile 关键字是 Java 虚拟机提供的轻量级的同步机制,使用volatile可能比锁更快,但在某些情况下它不起作用。
用volatile修饰的变量在线程 *** 作时会强制对其在缓存的修改 *** 作立刻写入主存。

3.Java提供了哪些同步机制来实现互斥?
Java 提供了两种锁机制来控制多个线程对共享资源的互斥访问,第一个是 JVM 实现的 synchronized,而另一个是 JDK 实现的 ReentrantLock。

4.Callable接口和Runnable接口有什么不同?
Runnable:无返回值且不能抛出异常;
Callable:可以有返回值(泛型)和抛出异常;

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5619536.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存