分类 Thinking 中的文章

如何做代码 CR?

一、设计问题 (ABI 原则) CR 的意图 (Intention) 首先要了解整个 CR 要解决的问题; 正确的解决方案 (Better Solution) 在了解问题的基础上,思考标准的解决方案; 架构设计(合理的分层)(Architecture Design) 包设计 类设计 接口设计 安全 (safety) 不要迫使使用方到处传递敏感信息 二、实现问题 命名规范 命名规范: 一致性 注释和代码保持一致 同一个概念,不要用多个(近似但不一样的)名称 作用域……

阅读全文

五种 IO 模型

1 Preface 同步 (synchronous IO) 和异步 (asynchronous) IO,阻塞 (blocking) IO和非阻塞(non-blocking) IO分别是什么,到底有什么区别? 这个问题不同的人给出的答案可能不同。为不同的人的知识背景不同,并且在讨论这个问题的时候上下文(context)也不相同。 我们这里讨论的背景是Linux环境下的network IO, 本文参考 Richard Stevens 2003 年的传世之作 1 ,如果英文够好的话,推荐直接阅读。Stevens的文风是有名的深入浅出,所以不用担心看不懂。 2 五种 I/O 模型 blocking I/O nonblocking I/O I/O multiplexing (select and poll) signal driven I/O (SIGIO) asynchronous I/O (the POSIX aio_functions) 再说一下IO发生时涉及的对象和步骤。 对于一个net……

阅读全文

最近文章

分类

友情链接

标签

其它