非阻塞线程编程之美

背景

今天年后最后一天了,是不是很羡慕?不要羡慕,虽然是最后一天了,但是我依然在code的路上,只不过没有在写业务代码了,而是在写一些自己感兴趣的东西,前几天翻了翻多线程的东西,感觉还是又有新的收获的,于是今天又抽空看了下。

线程阻塞

我们都知道多线程可以提高系统处理业务的能力,但是我们有没有考虑过,很多时候我们编写的多线程代码是阻塞的,尤其是主线程大部分需要阻塞,比如我们常用的join,还有future的get方法,当然很业务场景下,确实是需要阻塞的,比如上篇文章的最后一个demo
java多线程浅析之sleep、wait、join详解

但是!!!总有些场景主线程想要去干点别的事情的,今天就以泡茶案例来分析下非阻塞线程的编程之美。

案例分析:

  • 烧开水
  • 洗杯子
  • 泡茶、喝茶

烧水线程

public class HotWaterThread implements Callable<Boolean> {
   


    @Override
    public Boolean call()  {
   
        System.out.println("烧水中。。。。。。");
        try {
   
            Thread.sleep(100L);
        } catch (InterruptedException e) {
   
            e.printStackTrace();
            return false;
        }
        return true;
    }
}

洗杯子线程

public class WashCupThread implements Callable<Boolean> {
   

    @Override
    public Boolean call(){
   
        System.out.println("洗杯子中。。。。。。");
        try {
   
            Thread.sleep(100L);
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值