擅长:python、mysql、java
<p>我不知道您在使用什么数据库,但很可能您无法在这样的进程之间共享数据库连接。</p>
<p>在linux上,使用<code>fork()</code>,在启动子进程时,它会复制内存中的所有内容。但是,像套接字、打开的文件和数据库连接这样的东西不能正常工作,除非专门为此而设计。</p>
<p>在窗口上,<code>fork()</code>不可用,因此它将重新运行您的脚本。在你的情况下,那将是非常糟糕的,因为它会再次失去一切。您可以通过放入<code>if __name__ == '__main__':</code>位来防止这种情况。</p>
<p>您应该能够在<code>my_awesome_function</code>中重新打开数据库连接,从而能够成功地与数据库交互。</p>
<p>说实话,你这样做不会有任何进展。事实上,我希望这会慢一些。看数据库真的很慢。您的进程将花费大部分时间等待数据库。现在您只有多个进程在等待数据库,这并不能改善情况。</p>
<p>但是数据库是用来存储东西的。只要您正在进行处理,您就应该在进入数据库之前在代码中进行处理。基本上,您使用的是数据库a s a set,而使用python set,您的代码会好得多。如果你真的需要把这些东西放进数据库,在程序结束时做。</p>