多处理:在单独的线程上执行新函数的每个n迭代其他线程上的每个迭代
上下文
我有工人设置并在多线程的过程上运行,如下所示:
global_iteration = mp.Value('i', 0)
workers = [Worker(global_iteration) for _ in range(num_threads)]
for w in workers:
w.daemon=True
w.start()
[w.join() for w in workers]
每个工人将执行一些操作,然后递增global_iteration。为了清楚起见,工作类的定义如下:
import multiprocessing as mp
class Worker(mp.Process):
def __init__(global_iteration):
super(Worker, self).__init__()
self.global_iteration = global_iteration
def update_global_iteration():
with self.global_iteration.get_lock():
self.global_iteration+=1
def run():
### Do something here ###
self.update_global_iteration()
我的问题:
我想在每个n n global_iterations上在单独的线程上运行一个函数。我该怎么做?
为简单起见,功能可能是:
def print_global_iterations(global_iterations):
print('Workers are currently on global iteration {}'.format(global_iterations))
Context
I have workers setup and running on a multi-threaded process running as follows:
global_iteration = mp.Value('i', 0)
workers = [Worker(global_iteration) for _ in range(num_threads)]
for w in workers:
w.daemon=True
w.start()
[w.join() for w in workers]
Each worker will perform some operation and then increment the global_iteration. For clarity, the worker class is defined as follows:
import multiprocessing as mp
class Worker(mp.Process):
def __init__(global_iteration):
super(Worker, self).__init__()
self.global_iteration = global_iteration
def update_global_iteration():
with self.global_iteration.get_lock():
self.global_iteration+=1
def run():
### Do something here ###
self.update_global_iteration()
My question:
I want to run a function on a separate thread every n global_iterations. How can I do this?
For simplicity the function could be something like:
def print_global_iterations(global_iterations):
print('Workers are currently on global iteration {}'.format(global_iterations))
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论