栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

同步、异步 & 阻塞、非阻塞的相关概念

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

同步、异步 & 阻塞、非阻塞的相关概念

之前一直会把阻塞和同步的概念搞混淆 , 这两天看了下B站的Netty课程 总算搞清楚了同步与阻塞的概念,如下:

同步是指执行某个任务(做某件事件)需要自己主动去执行(对于Java里面就是调用一个方法或者执行一段逻辑,需要调用者线程主动执行), 反之即异步 , 即调用者不需要主动去执行对应代码(其他线程去执行)

public class TestSyncAndBlock {

    @Test
    public void testSync () {
        // 当前线程调用doSomething 方法 是由当前线程去执行的称为同步
        this.doSomethingSynchronized();
    }

    @Test
    public void testASync () {
        // 当前线程调用doSomething 方法 是由其他线程去执行的称为异步
        this.doSomethingASynchronized();
    }


    public void doSomethingSynchronized() {
        System.out.println(Thread.currentThread().getName() + " : I'm doing something now !!!");
    }

    public void doSomethingASynchronized() {
        new Thread(()->{
            System.out.println(Thread.currentThread().getName() + " : I'm doing something now !!!");
        }).start();
    }
}

阻塞是指获取一件事情的结果时,当前线程是否等待对应结果,等待即为阻塞 , 不等待即为非阻塞

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/644475.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号