09 2022 档案
摘要:###socket的阻塞与非阻塞 同步:主动请求并等待IO操作完成的方式 异步:主动请求数据后,可以去处理其它任务,随后等待IO操作完毕的通知 阻塞:线程持续等待资源中数据准备完成,直到返回响应结果 非阻塞:线程直接返回结果,不会持续等待资源准备数据结束后才响应结果 socket()函数创建的soc
阅读全文
摘要:###shared_ptr shared_ptr 是C++11提供的一种智能指针类,它足够智能,可以在任何地方都不使用时自动删除相关指针,从而帮助彻底消除内存泄漏和悬空指针的问题。 shared_ptr使用引用计数,每个shared_ptr的拷贝都指向相同的内存,在最后一个shared_ptr析构的
阅读全文
摘要:###C++ bind函数 可调用对象: 是函数指针 是一个具有operator()成员函数的类对象 是一个可被转换为函数指针的类对象 是一个类成员函数指针 可调用对象包装器:std::function: 可以保存函数延迟执行,比较适合作为回调函数。 bind函数: bind函数看做一个通用的函数适
阅读全文
摘要:###eventfd Linux 2.6.27后添加的新特性,eventfd。 eventfd是一个由内核维护的64位无符号整型(uint64_t)计数器,创建eventfd返回一个文件描述符,进程间通过对这个文件描述符read/write读取/改变计数器的值,实现进程间通信。 eventfd的创建
阅读全文
摘要:cmake官方文件第一步: https://cmake.org/cmake/help/latest/guide/tutorial/A%20Basic%20Starting%20Point.html 一个简单的开方程序用cmake来组织: CMakeLists: cmake_minimum_requi
阅读全文
摘要:11.3全球因特网 因特网的客户端和服务器混合使用套接字接口函数和UNIX I/O函数来进行通信。通常将套接字函数实现为系统调用,这些系统调用会陷入内核,并调用内核模式的TCP/IP函数。 IP协议提供基本的命名方法和递送机制,这种机制可以从一台因特尔网主机往其他主机发包(数据报) IP协议是不可靠
阅读全文