2024年08月27日
python中支持多线程,在默认实现的CPython中,使用了GIL,每个线程要执行字节码之前,需要获取GIL这个全局解释器锁,所以同时只有一个线程可以执行字节码.同时,CPython在进行io相关操作的时候,会释放GIL,此时其他的线程就可以拿到GIL来运行自己的字节码了. 所以,对于cpu密集型任务,无法使用python的多线程来加速;但是对于io密集型任务,可以使用python多线程来加速.
2024年08月27日
大家好,今天和大家聊一聊Linux线程同步相关的知识,线程同步相关的知识值得花时间好好研究,要设计出高性能软件架构,必须学好Linux线程同步,对Linux线程同步原理有深刻的认知。
2024年08月27日
我们经常听说高性能服务器,那什么是高性能服务器;用大白话来解释就是说处理事件快,效率高,占用服务器资源少,多路复用等等集万千宠爱于一身;但是,往往要想做到高性能,这是非常难的,需要一个好的优秀的架构和底层接口。
2024年08月27日
软件世界的发展比以往任何时候都快,为了保持竞争力需要尽快推出新的软件版本,而又不影响在线得用户。许多企业已将工作负载迁移到了 Kubernetes 集群,Kubernetes 集群本身就考虑到了一些生产环境的实践,但是要让 Kubernetes 实现真正的零停机不中断或丢失请求,我们还需要做一些额外的操作才行。
2024年08月27日
Linux下的文件有着不同的分类和不同的属性,在操作过程中可以使用对应的函数获取文件的属性信息:
第一个函数:stat
函数头文件:
2024年08月27日
任何一个程序都离不开IO,有些是很明显的IO,比如文件的读写,也有一些是不明显的IO,比如网络数据的传输等。那么这些IO都有那些模式呢?我们在使用中应该如何选择呢?高级的IO模型kqueue和epoll是怎么工作的呢?一起来看看吧。
2024年08月27日
这篇文章总结了常见的 IO 多路复用机制,主要包括 IO 模型、IO 多路复用接口概览、epoll 细节(触发模式、定时器、惊群问题等),Java 上的多路复用实现,Netty 怎么使用 epoll 等内容。
IO 模型相关内容主要参考自:The Sockets Networking API:Unix Network Programming Volume1 第三版第六章,以下 IO 模型说明图均拷贝自该书的 Oreilly Safari 版。