-
-
Go语言并发编程: 使用sync.WaitGroup实现goroutine同步
sync.WaitGroup是一个同步原语,用于等待一组并发任务结束。它常用于并发程序中,让主程序在启动一组goroutine后等待它们结束。主要作用是:在并发程序启动一组任务后,等待它们全部结束,以防止程序退出时仍有任务没有完成。...
02月21日[编码文章]浏览:8
-
「技术干货」Linux调度器中的schedule()函数
对于调度器,一个很重要的是调度时机问题,在什么情况下,什么时候发生调度?也就是说在什么情况下,什么时候,把现在占用CPU的进程替换下来,根据进程生命周期...
02月21日[编码文章]浏览:7
-
Python异步并发编程入门指南_python 异步并发
Python是一门非常强大和灵活的编程语言,它支持多种编程范式,如面向对象、函数式、过程式等。Python也支持异步并发编程,这是一种同时处理多个任务的编程方式,可以提高程序的性能和效率,尤其是在面对IO密集型或网络密集型的任务时。...
02月21日[编码文章]浏览:7
-
网络连接存在大量time_wait和close_wait的原因以及解决方法
如果对tcp中的握手挥手不了解的同学,请先看这篇博客:《关于三次握手与四次挥手你要知道这些》。...
02月21日[编码文章]浏览:7
-
-
-
Linux系统编程—条件变量_linux条件变量互斥锁
条件变量是用来等待线程而不是上锁的,条件变量通常和互斥锁一起使用。条件变量之所以要和互斥锁一起使用,主要是因为互斥锁的一个明显的特点就是它只有两种状态:锁定和非锁定,而条件变量可以通过允许线程阻塞和等待另一个线程发送信号来弥补互斥锁的不足,所以互斥锁和条件变量通常一起使用。当条件满足的时候,线程通常...
02月21日[编码文章]浏览:9
-
IO多路复用之select、poll、epoll之间的区别总结
一、IO多路复用基本概念select、poll、epoll都是IO多路复用的机制。IO多路复用就是通过一种机制,让一个进程/线程可以监视多个描述符,一旦某个描述符就绪(一般是读写就绪),能够通知应用程序进行相应的读写操作。...
02月21日[编码文章]浏览:8
-
Nginx学习之Nginx高性能的实现原理
Nginx 采用的是多进程(单线程) & 多路IO复用模型,使用了 I/O 多路复用技术的 Nginx,就成了”并发事件驱动“的服务器,同时使用sendfile等技术,最终实现了高性能。主要从以下几个方面讲述Nginx高性能机制:...
02月21日[编码文章]浏览:9