Tcp三次握手与Backlog

三次握手

服务端通过系统调用bind()listen()绑定和监听socket-port,此时服务端处于 LISTEN 状态,当客户端调用 connect() 向服务端发起连接时,就进入到我们熟悉的三次握手当中。

浅谈modern c++的智能指针

手动的内存管理通常被认为很麻烦且不利于程序的可维护性,modern C++ 采用智能指针的方式对内存进行动态管理,本文试图对智能指针做一个简单的入门介绍。

IO 模型浅谈

网络 IO 的发展过程是随着 linux 的内核演变而变化,因此网络 IO 大致可以分为如下几个阶段:

  1. 阻塞 IO(BIO)
  2. 非阻塞 IO(NIO)
  3. IO 多路复用第一版(select/poll)
  4. IO 多路复用第二版(epoll)
  5. 异步 IO(AIO)

那么,BIO、NIO、AIO 有什么区别呢?

多线程若干问

顺序性

原子性

可见性 当一个线程修改了某一个全局共享变量的数值,其他线程是否能够知道这个修改。