Python多线程内存

标签 python memoization

Python多线程memoization,可以吗?如果是,怎么办?

最佳答案

当然可以。事实上,我认为直接的单线程实现应该工作得很好,假设在使用相同参数并行调用相同函数的情况下可以执行一些冗余计算是可以接受的。

为了说明该场景,您的内存过程可能看起来像这样:

if args not in cache:
    cache[args] = func(args)
return cache[args]

如果两个线程同时使用相同的 args 到达这个位置,它们可能会同时调用 func(args),而这样会更高效只调用一个计算实例,另一个实例等待第一个实例完成。这对您来说可能不是什么大问题。如果是,使用锁(来自 threading 模块)来阻止具有匹配参数的线程的解决方案应该非常简单。

关于Python多线程内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4710266/

相关文章:

python - 为什么我在 pygame 中的玩家角色有时会消失在瓷砖后面,但仍然会移动?

python - Tornado/Flask 无法正确响应 OPTIONS

Python 使用设置初始化一个 memoizing 装饰器

Haskell、内存、堆栈溢出

algorithm - 内存内存

python - 了解 python 内存装饰器中的参数处理

python - Jupyter 笔记本 : How to execute an external file containing imports and magic commands?

python - 从文本文件python中提取一行

python - 结构检查符号链接(symbolic link)是否存在并删除如果存在

python - 基于云的内存