JAVA 并发编程之十一:同步|异步|阻塞|非阻塞 +AsyncTask+ 非阻塞同步(Wait-free|Lock-free|Obstruction-free)

本文探讨了JAVA并发编程中的同步和异步概念,以及阻塞和非阻塞的区别。通过比喻解释了同步异步与阻塞非阻塞的关系,并介绍了Android中异步任务AsyncTask的应用。同时,文章提到了无等待、无锁和无干扰三种非阻塞同步策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

同步(Synchronization):

如何正确有效的保护共享数据是编写并行程序必须面临的一个难题,通常的手段就是同步。
同步+阻塞: UI Thread + method return;
同步+非阻塞: UI Thread + 状态轮询查询;

 

异步(Asynchronization):

异步+阻塞:Work Thread + method return
异步+非阻塞:Work Thread + callback notify;--推荐的解决方案(Android AsyncTask)!

 

 

概念:同步&异步 + 阻塞&非阻塞

老张爱喝茶,废话不说,煮开水。
出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。
1 老张把水壶放到火上,立等水开。(同步阻塞: UI Thread + method return
老张觉得自己有点傻
2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞: UI Thread + 状态轮询查询
老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种水壶。水开之后,能大声发出嘀~~~~的噪音。
3 老张把响水壶放到火上,立等水开。(异步阻塞:Work Thread + method return
老张觉得这样傻等意义不大
4 老张把响水壶放到火上,去客厅看电

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

架构师训练营

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值