并发编程
文章平均质量分 91
always_ascending
好好学习
展开
-
Linux epoll 与 Windows IOCP比较
前言epoll 和 IOCP(IO Completion Ports) 分别是 Linux 和 Windows 系统上的高效网络模型。相比其他网络模型,同样是 polling 方式,这两种模型有如下特点:在系统资源允许下,监控的文件描述符没有上限。多线程同时监视和修改文件描述符是可行的,少量的线程即可实现支持大量连接的服务端程序。这两种模型的事件通知会有一定开销。如果应用程序不需要太多的客户端连接,select 和 poll 是更合适的模型。epoll 和 IOCP 的设计目的是应付成千上万的连接原创 2022-01-15 23:50:57 · 3255 阅读 · 0 评论 -
并发编程笔记
前言在程序设计过程中,难免涉及操作系统、多进程、多线程、数据库等领域。在这些领域内,确保对共享资源的异步操作不出差错,是每个程序开发者必须要考虑的问题。面对并发问题,除了需要谨慎和小心外,引入并发控制策略是解决问题的主要手段,常见的相关技术有锁、互斥量、信号量、原子操作等。一、锁(lock)1.1 概念锁是一个抽象概念,是一种保护共享资源访问的同步化技术。锁有两个操作:acquire 和 release。它一次最多只允许一个线程获取,一旦所有权被某一线程获取,其他线程只能等待该线程释放锁才能访问被保原创 2021-12-29 22:36:45 · 363 阅读 · 0 评论