简单描述同步异步阻塞和非阻塞的应用场景

本文探讨了同步与异步、阻塞与非阻塞的概念,特别是在游戏服务器处理高并发登录场景下如何优化玩家体验。通过异步处理关键数据,允许玩家快速进入游戏,后续数据通过额外线程加载,有效缩短了加载时间。

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

同步 异步 阻塞 非阻塞      是对于需求而规定的 !!!  仅仅是思想!

对于linux而言程序员作为需求方 可以认为io复用是同步非阻塞的 很多的系统调用都是同步阻塞的

但是对于一个类似netty框架来说 进行了封装完全可以认为是异步非阻塞的 框架进行了封装

公司为游戏公司  用游戏公司举例子  

需求支持1W玩家同时登录游戏不造成玩家体验不好(所谓体验不好指的是大量玩家进不了游戏 现在表示为loading 一直加载类似

造成这样的原因 由于服务器数据没加载完成 数据从什么地方来读数据库等等地方都可以。。但是即使是一张表数据2MS  但是存在很多张表 比如20张表吧 甚至更多。。。   20*2=40ms  1W人同时进行操作 那么就是40ms*1W 也就是400s  那么最后的一个玩家 进行loading的时间为6分钟 还不算网络时间等等。。。  当然这个进行数据库的读取为1个线程的情况 那么怎么提高玩家的体验 

可以先读取玩家必须要的表 让玩家先进入游戏 可能只有几张 这个20 张表就变成2张或者是3张其他的表 通过另外的线程进行读取   这个表示的就是异步的思想 个人感觉异步一般都是会开辟1个线程(子线程)去弄

 

 

阻塞是对于io而言的 一般来说都是网络io  网络io 有一点就是不知对方是什么时候发生消息到服务器上的  因此有两种方式阻塞和非阻塞  阻塞表示的是对方即使没有发送消息 也进行等待消息的操作 非阻塞表示的是轮询这个等待消息的操作 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值