C++到Python学习浅谈

您所在的位置:网站首页 如何理解io复用 C++到Python学习浅谈

C++到Python学习浅谈

2023-03-14 06:30| 来源: 网络整理| 查看: 265

结合python源码剖析这本书和源码(⽤VS能直接编译的)从字节码⼀点点的看python虚拟机的运⾏,函数、类的创建、实例的创建等

学习python标准库,⼀个⼀个的读标准库,这⾥⾯是python⾼质量的代码,这⾥⾯需要结合源码中c写的⼀些模块看,同时需要了解

的知识也很多。

例如threading.py模块,那需要结合_threadmodule.c,知道python互斥锁、递归锁、信号量、事件、线程是如何实现的

socket.py模块结合 socketmodule.c,清楚python socket的底层实现,socket读写、accept、listen、超时等如何实现超时。因为

这些server.py模块的基础

select.py模块需要懂得IO复⽤模型,select/epoll/poll等等,我不知道为什么windows下CPython没有⽤IOCP模型的原因,socket事件

可读、可写、异常等异步IO编程⽅式,是server.py模块的基础。

最让我震撼的是asyncio异步IO结合协程能编写⾼效率的服务器程序,在以往C++开发服务器程序中⼤部分都是⼀个连接请求⼀个线程

(但是连接多了问题就暴露的多了)、可能再好⼀点的是异步IO(如boost::asio库),但是这些⽤C++写起来确实很蛋疼。

标准库读的多了,遇到的问题就很多了,例如abc抽象基类、元类、⾃定义元类,然后再结合CPython源码寻找答案。

重写的__***___函数是如何覆盖掉CPython本⾝定义的slot的等

说的⽐较杂,希望⾃⼰也再接再厉,克服困难,把Python变成⾃⼰的武器



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3