Java第九章小结

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

FutrueTask 应用于多线程中异步处理并得到处理结果的场景

Runnable 没有返回值,而 Callable 能返回执行结果。Callable 接口实现类中的 call 方法允许异常向上抛出,可以在内部处理,try catch。但是 Runnable 接口实现类中 run 方法的异常必须在内部处理,不能抛出

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

可以使得在多处理器环境下保证了共享变量的可见性。
禁止指令重排序优化

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

Java 提供了两种锁机制来控制多个线程对共享资源的互斥访问。一个是 JVM 实现的 synchronized,一个是 JDK 实现的 ReentrantLock。

synchronized作函数修饰符

synchronized同步程序块

synchronized修饰static方法

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

 class MakeTea {
    public static void main(String[] args) {
        MakeTeaThread1 mk1=new MakeTeaThread1();
        mk1.start();
    }
}
 class MakeTeaThread1 extends Thread{
    private MakeTeaThread2 mk2;
 
    public MakeTeaThread1() {
        mk2=new MakeTeaThread2();
    }
 
    public void run() {
        System.out.print(this.getName()+":洗水壶->");
        try {
            Thread.sleep(1000);
        }
        catch(Exception e) {}
        System.out.println("烧水-------------------");
        System.out.print("                                     |");
        mk2.start();
        try {
            Thread.sleep(12000);
        }
        catch(Exception e) {}
        System.out.println();
        System.out.print(Thread.currentThread().getName()+":                          泡茶");
    }
}
class MakeTeaThread2 extends Thread{
    public void run() {
        System.out.println();
        System.out.print(this.getName()+":     洗茶壶->");
        try {
            Thread.sleep(1000);
        }
        catch(Exception e) {}
        System.out.print("洗茶杯->");
        try {
            Thread.sleep(2000);
        }
        catch(Exception e) {}
        System.out.println("拿茶叶------");
        System.out.print("                                     ↓");
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值