
计算机网络
文章平均质量分 87
桀溺。
这个作者很懒,什么都没留下…
展开
-
两种高效的事件处理模式
服务器程序通常处理三类事件:I/O事件,信号及定时事件。下文介绍一下两种高效的事件处理上模式:Reactor和Proactor.随着网络设计模式的兴起,Reactor和Proactor事件处理模式应用而生。同步I/O模式通常用于实现Reactor模式,异步I/O模型则用于实现Proactor模式。Reactor模式Reactor是这样一种模式。它要求主线程(I/O处理单元,下同)只负责监听文件描述符上是否有事件发生,有的话就立即将该事件通知工作线程(逻辑单元,下同)。除此之外,主线程不做任何其他实质性的原创 2020-05-12 14:16:29 · 277 阅读 · 0 评论 -
同步与锁
为了避免多个线程同事读写同一个数据而产生不可预料的后果,我们要将各个线程对同一数据的访问同步。所谓同步,即指在一个线程访问数据未结束的时候,其他线程不得不对同一个数据进行访问。如此,对数据的访问被原子化了。同步的最常见的方法是使用锁(Lock).锁是一种非强制机制,每一个线程在访问数据或资源之前首先试图获取锁,并在访问结束之后释放锁。在锁已经被占用的时候试图获取锁时,线程会等待,直到锁重新可用。...原创 2020-05-07 18:40:17 · 349 阅读 · 1 评论 -
I/O模型
对于一次IO访问(以read举例),数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。所以说,当一个read操作发生时,它会经历两个阶段:等待数据准备 (Waiting for the data to be ready)将数据从内核拷贝到进程中 (Copying the data from the kernel to the process)...原创 2019-12-09 22:41:02 · 176 阅读 · 1 评论 -
计算机网络(1)
最近在筹划写一个聊天室,所有就了解了一些计算机网络方面的知识,就想着输出一下……计算机网络模型应用层:文本传输协议,比如说你的QQ发消息被被别人抓包了,但是只要他不知道QQ应用层的协议,他就无法破解。抓包很有意思的,我最近刚接触了一些这方面的东西,找个机会写一下。网络层:传输层协议的任务是向不同的向位于不同主机上的应用程序提供端到端的服务。你有没有想过,你的QQ消息,为什么发送过来的时...原创 2019-08-02 00:31:30 · 139 阅读 · 0 评论