Python多线程

Python代码的执行由虚拟机来控制。Python再主循环中,同时只有一个线程再执行,就像单CPU的系统中运行多个进程那样,内存中可以存放多个程序,但任意时刻,只有一个程序再CPU中运行。

对Python虚拟机的访问由全局解释器锁(global interpreter lock)来控制,正是这个锁能保证同一时刻只有一个线程在运行。

参考

Read More

Python环境配置管理

类似Java中的jenv、Flutter的fvm工具,Python也有多版本管理工具,这里推荐使用pyenv。

先记录下Mac m1的默认python环境

Mac OS 12.3之后系统去掉了Python2,Mac上的默认Python环境可能有:

|python版本|Python路径|支持的架构|备注
|—|—|—|—-|
Python3.x|/usr/bin/python3|x86_64 arm64|Xcode自带的Python环境,/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions目录两种可能有多个版本
Python3.x|​​/usr/local/bin/python3.8​​|​​x86_64​​|Rosetta2转译版brew安装的Python
​​Python3.10.9​​|​​/opt/homebrew/bin/python3​​|​​arm64​​|本地编译brew安装的Python (原生支持m1)
​​Python3.9.15​​|​​/opt/homebrew/Caskroom/​​​​miniforge/base/bin/python​​|通过本地编译brew安装的mini-forge中base环境的Python

在做版本管理的时候建议使用pyenv,使用brew安装后的目录查找起来很麻烦

Read More

RxPY学习笔记

基本概念参考这里,Python的版本也是根据这些概念,通过使用自己的特性实现。但由于种种原因,Python的不同版本间变化很大。可以参考这里。

基本的用法可以参考文档和源码中的test,这里只记录一些自己遇到的问题和解决方案

官方使用文档翻译

安装

如果使用V3.x版本:

1
pip install rx
Read More