baidu

09 2020 档案

摘要:优化C#服务器的思路和工具的使用 优化服务器之前, 需要先对问题的规模做合理的预估, 然后对关键的数据做采样, 做对比, 看和自己的预估是否一致, 误差大在什么地方, 是预估的不对, 还是系统实现有问题. 策划对某游戏服务器的要求是3000到5000人在线. 大概的估算 玩了玩游戏, 在前期任务的流 阅读全文
posted @ 2020-09-16 10:28 egmkang 阅读(1084) 评论(0) 推荐(8) 编辑
摘要:通过P/Invoke加速C#程序 任何语言都会提供FFI机制(Foreign Function Interface, 叫法不太一样), 大多数的FFI机制是和C API. C#提供了P/Invoke来和操作系统, 第三方扩展进行交互. FFI通常用来和老的代码交互, 例如有大量的遗留代码, 重写成本 阅读全文
posted @ 2020-09-15 10:02 egmkang 阅读(1269) 评论(1) 推荐(8) 编辑
摘要:C# Alloc Free编程之实践 上一篇说了Alloc Free编程的基本理论. 这篇文章就说怎么具体做实践. 常识 之所以说是常识, 那是因为我们在学任何一门语言的时候, 都能在各种书上看到各种各样的best practice. 这些内容也确实是最佳实践, 需要去遵守. 但是现实代码里面看到, 阅读全文
posted @ 2020-09-14 09:47 egmkang 阅读(793) 评论(7) 推荐(11) 编辑
摘要:C# Alloc Free编程 首先Alloc Free这个词是我自创的, 来源于Lock Free. Lock Free是说通过原子操作来避免锁的使用, 从而来提高并行程序的性能; 与Lock Free类似, Alloc Free是说通过减少内存分配, 从而提高托管内存语言的性能. 基础理论 对于 阅读全文
posted @ 2020-09-11 12:35 egmkang 阅读(3395) 评论(16) 推荐(19) 编辑
摘要:C#多线程逻辑编程 多线程编程以难著称, 有很多人碰见多线程编程就会畏缩, 不敢前进, 言必称死锁/卡死. 但是合理编程是不会碰到死锁这种问题. 对语言了解 工欲善其事必先利其器, 必须要对语言提供的同步机制和期扩展有所了解. Linux系统(库)提供的同步机制有: 锁 原子操作 条件变量 其中原子 阅读全文
posted @ 2020-09-10 10:08 egmkang 阅读(733) 评论(0) 推荐(2) 编辑
摘要:网络框架的选择 C++语言里面有asio和libuv等网络库, 可以方便的进行各种高效编程. 但是C#里面, 情况不太一样, C#自带的网络API有多种. 例如: Socket TcpStream(同步接口和BeginXXX异步接口) TcpStream Async/Await Pipeline I 阅读全文
posted @ 2020-09-09 11:23 egmkang 阅读(2499) 评论(5) 推荐(6) 编辑

点击右上角即可分享
微信分享提示