<分区>
我想学习 Python 中的线程和多处理。我不知道要为此承担什么样的项目。
我希望能够处理所有相关对象,如锁、互斥锁、条件、信号量等。
请建议最适合我的项目类型。
附言连同项目,请推荐任何工具来调试/分析/负载测试我的应用程序,以便我可以衡量我的线程实现有多好。
<分区>
我想学习 Python 中的线程和多处理。我不知道要为此承担什么样的项目。
我希望能够处理所有相关对象,如锁、互斥锁、条件、信号量等。
请建议最适合我的项目类型。
附言连同项目,请推荐任何工具来调试/分析/负载测试我的应用程序,以便我可以衡量我的线程实现有多好。
最佳答案
一些想法:
网络爬虫 - 有一个线程池通过队列从调度程序获取工作,下载网页并在某处返回结果。
聊天服务器 - 接受来自用户的永久连接并将消息从一个用户发送到另一个用户。
mp3 文件管理器 - 从 mp3 标签数据重建音乐库的结构,并在文件夹中重新组织它们。您可以让多个线程同时工作。
如果我想到任何想法,我会用更多的想法进行编辑。
编辑:由于 python 被限制为每个进程一个 CPU,无论有多少线程,如果你想并行处理 CPU 消耗的东西,线程将使你无处可去,请改用 multiprocessing
接口(interface),它是几乎与线程 API 相同,但将内容分派(dispatch)给可以使用更多 CPU 内核的子进程。
关于python - 什么类型的项目会帮助我学习线程编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10397695/