【问题标题】:Spyder hangs on calling random.uniform()Spyder 挂起调用 random.uniform()
【发布时间】:2021-06-11 20:58:11
【问题描述】:

我的程序经常访问随机数。我通过以下方式启动我的随机数生成器:

import random
random.seed(1) 

我在一个进化模型(生物学)的代码中多次调用random.uniform(),一段时间后它反复挂起(20 分钟什么都不做,然后我停止它)。当它挂起时,Python 正在使用我的 CPU 20%-30%(我有四个内核)。同时它使用 10GB 内存(我有很多数据)。

我可以做些什么来使默认随机库不挂起,或者我可以使用另一个随机库吗?

我在 Windows 10 上运行 Spyder 4.2.5 和 Python 3.8。(早期版本的 Spyder 已经存在问题,我从 skretch 安装了 Spyder 4.2.5)

【问题讨论】:

  • 你在使用随机线程吗?如果您禁用页面文件,它会以这种方式运行吗?笨手笨脚,但使用更科学的操作系统有帮助吗?

标签: python winapi random spyder


【解决方案1】:

只是推测,但默认的 random 模块绝对不应该这样做,所以我怀疑

尝试使用和不使用阻塞标志调用os.random

import os
os.getrandom(1024, flags=os.GRND_NONBLOCK)  # raise for low entropy

【讨论】:

    猜你喜欢
    • 2022-07-14
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-26
    • 1970-01-01
    • 2012-08-26
    • 1970-01-01
    相关资源
    最近更新 更多