【发布时间】:2018-12-10 04:01:12
【问题描述】:
我刚开始使用 Python,所以请多多包涵。
我的代码现在看起来像这样(简化)
lst = []
def func1():
while True:
**doing some stuff with selenium, performing some operations on lst**
**I never break the loop**
def func2():
while True:
**doing some stuff with selenium, performing some operations on lst**
**I never break the loop**
到目前为止一切顺利。但是,我需要两个函数同时运行,同时对同一个列表进行处理并交换它们。例如,func1 可能会在 lst 中附加一些内容,而 func2 可能会从 lst 中删除一些内容,然后 func1 可能会删除一些内容等。这两个函数都需要无限期地运行,因此无限循环不会让它变得更容易。
我阅读了一些关于多线程的信息,但据我了解,多线程并不能真正并行运行,因此我的代码执行速度会变慢。这根本不是一个选择。我还读到多线程和 Selenium 并不是天作之合。
那么,我该如何实现呢?我需要这两个函数才能在无限期同时运行时对我的列表执行操作。
我还可以在多处理方面使用一些帮助。映射、池、队列……我什至不知道从哪里开始。
我真的需要你们的帮助,我将不胜感激。
附加信息(我真的不知道这是否重要):所有这些都是在使用 Python 2.7 和 Selenium 和 Chromedriver 的 Windows 机器上运行的。
【问题讨论】:
标签: python multithreading python-2.7 multiprocessing python-multiprocessing