import multiprocessing import multiprocessing class MyProcess(multiprocessing.Process): def __init__(self, name): super().__init__() self.name = name def run(self): print(f'Running process {self.name}') def my_process(name): print(f'Running process {name}') if __name__ == '__main__': p1 = MyProcess('Process 1') p2 = multiprocessing.Process(target=my_process, args=('Process 2',)) p1.start() p2.start() import multiprocessing def producer(queue): for i in range(5): queue.put(i) print(f'Produced: {i}') def consumer(queue): while True: data = queue.get() if data is None: break print(f'Consumed: {data}') if __name__ == '__main__': queue = multiprocessing.Queue() p1 = multiprocessing.Process(target=producer, args=(queue,)) p2 = multiprocessing.Process(target=consumer, args=(queue,)) p1.start() p2.start() p1.join() p2.join() import multiprocessing def process_task(name): print(f'Running task {name}') if __name__ == '__main__': pool = multiprocessing.Pool(processes=4) tasks = ['Task 1', 'Task 2', 'Task 3', 'Task 4'] pool.close() pool.join() import multiprocessing def increment_counter(counter, lock): for _ in range(1000000): with lock: counter.value += 1 def decrement_counter(counter, lock, event): while not event.is_set(): with lock: counter.value -= 1 if __name__ == '__main__': counter = multiprocessing.Value('i', 0) lock = multiprocessing.Lock() event = multiprocessing.Event() p1 = multiprocessing.Process(target=increment_counter, args=(counter, lock)) p2 = multiprocessing.Process(target=decrement_counter, args=(counter, lock, event)) p1.start() p2.start() p1.join() p2.join() print(f'Counter value: {counter.value}')


上一篇:
下一篇:
切换中文