python - 什么类型的项目会帮助我学习线程编程

标签 python multithreading

<分区>

我想学习 Python 中的线程和多处理。我不知道要为此承担什么样的项目。

我希望能够处理所有相关对象,如锁、互斥锁、条件、信号量等。

请建议最适合我的项目类型。

附言连同项目,请推荐任何工具来调试/分析/负载测试我的应用程序,以便我可以衡量我的线程实现有多好。

最佳答案

一些想法:

  1. 网络爬虫 - 有一个线程池通过队列从调度程序获取工作,下载网页并在某处返回结果。

  2. 聊天服务器 - 接受来自用户的永久连接并将消息从一个用户发送到另一个用户。

  3. mp3 文件管理器 - 从 mp3 标签数据重建音乐库的结构,并在文件夹中重新组织它们。您可以让多个线程同时工作。

如果我想到任何想法,我会用更多的想法进行编辑。

编辑:由于 python 被限制为每个进程一个 CPU,无论有多少线程,如果你想并行处理 CPU 消耗的东西,线程将使你无处可去,请改用 multiprocessing 接口(interface),它是几乎与线程 API 相同,但将内容分派(dispatch)给可以使用更多 CPU 内核的子进程。

关于python - 什么类型的项目会帮助我学习线程编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10397695/

相关文章:

android - 在异步任务中启动新线程

c - 报告计算进度的 C 方法是什么?

python - 如何将非抗锯齿字体渲染为内部图像?

python - 将用户输入匹配到列表项

python - Beautifulsoup 获取标签内容的最简单方法

python - 如何在python中导入google的taskqueue库

c++ - MacOS : libc++abi. dylib 上的线程:正在终止

multithreading - 锁xchg是否具有与mfence相同的行为?

javascript - 即使在用户通过 javascript 导航离开后,ASP.NET 是否继续可靠地处理请求?

python - 从网站收到的 DOM 没有 <a> 链接