Python 中的 Event Loop 和多线程
这篇文章作为我对 Python 并发编程方案相关知识的思考、总结和陈述,希望这篇文章能帮到苦于理解和选择并发方案的其他人。对 Python 语言来说,有三种并发方案:多线程(threading
)、多进程(multiprocessing
)、event loop(asyncio
etc.)。
这篇文章作为我对 Python 并发编程方案相关知识的思考、总结和陈述,希望这篇文章能帮到苦于理解和选择并发方案的其他人。对 Python 语言来说,有三种并发方案:多线程(threading
)、多进程(multiprocessing
)、event loop(asyncio
etc.)。
我本来以为这是程序员职业的某种被动特性,但我意识到很多同行对程序触发事件和执行时序并不太关注。在这篇文章中,我想解释为什么我们作为程序员要关注这些东西,这样做有什么好处。
假如你不慎从网络上下载下来一个病毒,它现在已经被保存到你的本地磁盘上了。现在事情完蛋了吗?还没有,它还没被执行呢,把它删了就行(最好用那种文件粉碎工具)。我们的电脑是冯·诺伊曼结构,在硬盘(与内存)中,程序与数据被同等看待并存储,存在于硬盘上的程序还没有被执行。我猜做网络安全的朋友们对这个比较熟悉,一次成功的代码执行漏洞攻击中必然包含恶意载荷的成功执行。
之前拜读了枫影 Justin Yan写的博客《每个人每天都只有 24 小时,希望我的选择真的是我的选择》,里面提到了一本讲佛教核心理念的书:《正见》。之前上学遇到心理困难时,是佛教把我从边缘拉回来嘱咐我好好生活的。最近工作生活碰到了一些事实困难,找不到务实的解决方案,我心想是时候认真读读佛了,不说求得多大效用,至少自我开导落个心理安慰。
最近我开始帮忙做一个帮助视障玩家玩 Minecraft 的 mod - minecraft-access。这个 mod 基本是为游戏设计一套新的适合视障者的人机交互界面。我没系统学过人机交互的知识,在构想新功能时逐渐感到力不从心。这时我想起设计顾问倪爽老师有在提供[免费咨询服务](https://nishuang.net/" >}})。我心想请倪爽老师帮我指条明路,就预约了一次免费咨询。
我正在帮忙做一个帮助视障玩家玩 Minecraft 的 mod - minecraft-access,帮了大概两个多月了。这是我第一次深度参与一个开源项目。
得感谢 Bilibili 的大数据,给我推了一个盲人 up 主玩 Minecraft 的视频。我想为这方面贡献点力量,就顺藤摸瓜一通搜索,搜到了目前的项目。还好它是活跃的,我本来还担心如果没有任何相关项目是活跃的该怎么办。