Java(9)线程

1.FutureTask类有什么作用?它实现了哪些接口?Callable接口和Runnable接口有什么不同?

作用:Future Task实现了RunnableFuture接口,RunnableFuture继承了Runnable接口和Future接口,而FutureTask实现了RunnableFuture接口。所以它既可以作为Runnable被线程执行,又可以作为Future得到Callable的返回值。实现接口:RunnableFuture接口。Callable接口和Runnable接口的不同:Runnable接口没有返回值,Callable接口是一个泛接口,返回传进来的数据类型。

2.请查阅JDK自学线程池的相关类,如ThreadPoolExecutor构造器各个参数的意义,利用线程池编写多线程程序。

3.volatile关键字有什么作用?

作用:指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。

4.Java提供了哪些同步机制来实现互斥?

Java引入了对象监视器来保证共享数据操作的同步性。任何一个对象都可作为一个监视器,关键字synchronized修饰某个对象后,该对象就成为监视器。synchronized的三种用法:synchronized代码块:监视器就是指定的对象;synchronized方法:监视器就是this对象;synchronized静态方法:监视器就是相应的Class对象。

5.编写Java程序模拟烧水泡茶最优工序。

6.编写一个多线程Java应用模拟生产者/消费者模型,各产生10个生产者和消费者线程,共享一个缓冲区队列(长度自设),生产者线程将产品放入到缓冲区,消费者线程从缓冲区取出产品。

7.阅读公众号“码农翻身”的文章---《我是一个线程》。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值