我正在使用多处理来同时运行多次的函数。我收到此错误:
PermissionError: [WinError 5] Access is denied
我认为这意味着我需要以管理员身份运行该程序,因此我以管理员身份运行它,但现在它崩溃了。我正在像这样运行多处理:
p1 = multiprocessing.Process(target=exMine)
p2 = multiprocessing.Process(target=exMine)
p3 = multiprocessing.Process(target=exMine)
p4 = multiprocessing.Process(target=exMine)
if __name__ == '__main__':
p1.start()
p2.start()
p3.start()
p4.start()
Run Code Online (Sandbox Code Playgroud)
我看到了一些关于此错误的其他帖子,但它与 Python 版本(特别是 3.7)有关。我在 Python 3.8.3 和 Python 3.9.1 中运行时遇到相同的错误
完整的错误是:
Traceback (most recent call last):
File "miner.py", line 389, in <module>
lgdIn()
File "miner.py", line 182, in lgdIn
mine()
File "miner.py", line 174, in mine
p1.start()
File "C:\Users\deanm\anaconda3\lib\multiprocessing\process.py", line 121, in start
self._popen = self._Popen(self)
File "C:\Users\deanm\anaconda3\lib\multiprocessing\context.py", line 224, in _Popen …Run Code Online (Sandbox Code Playgroud) 我试图找到一种方法来获取某人使用 Python 的 CPU 核心数。我找到的几乎所有答案都是:
multiprocessing.cpu_count()
或者
os.cpu_count()
虽然这些选项非常适合查看计算机有多少个线程,但它并不能告诉我它有多少个内核。