请给出python多进程的示例代码
时间: 2023-03-01 20:14:45 浏览: 63
好的,以下是一个简单的 Python 多进程示例代码:
```
from multiprocessing import Process
def worker(num):
"""示例工作进程函数"""
print("Worker %d" % num)
if __name__ == '__main__':
jobs = []
for i in range(5):
process = Process(target=worker, args=(i,))
jobs.append(process)
process.start()
```
在这个例子中,我们创建了 5 个工作进程,每个工作进程都运行函数 `worker`,每次运行时都会传入不同的参数 `num`。最后,我们通过调用 `process.start()` 来启动每个进程。
相关问题
请给出python实现多进程的示例代码
Python 中可以使用 `multiprocessing` 模块实现多进程。以下是一个简单的示例代码:
```python
import multiprocessing
def worker(number):
print("Worker %d is running" % number)
if __name__ == '__main__':
for i in range(5):
process = multiprocessing.Process(target=worker, args=(i,))
process.start()
```
运行结果:
```
Worker 0 is running
Worker 2 is running
Worker 1 is running
Worker 4 is running
Worker 3 is running
```
给出python多进程拆分表格的代码
以下是一个简单的 Python 多进程拆分表格的代码示例:
```python
import multiprocessing
import pandas as pd
def split_dataframe(df, num_processes):
"""
将 DataFrame 拆分成 num_processes 个部分
"""
df_split = []
chunk_size = len(df) // num_processes
for i in range(num_processes):
start = i * chunk_size
end = (i + 1) * chunk_size if i < num_processes - 1 else len(df)
df_split.append(df[start:end])
return df_split
def process_dataframe(df):
"""
对 DataFrame 进行处理
"""
# 在这里写处理代码
pass
if __name__ == '__main__':
# 加载表格
df = pd.read_csv('table.csv')
# 拆分 DataFrame
num_processes = 4
df_split = split_dataframe(df, num_processes)
# 创建进程池
pool = multiprocessing.Pool(processes=num_processes)
# 处理每个部分的 DataFrame
results = []
for df_part in df_split:
result = pool.apply_async(process_dataframe, [df_part])
results.append(result)
# 等待所有进程完成并收集结果
pool.close()
pool.join()
output = [r.get() for r in results]
```
在这个示例中,我们首先加载了一个 CSV 文件作为 Pandas DataFrame。然后,我们使用 `split_dataframe` 函数将 DataFrame 拆分成 num_processes 个部分,其中 `chunk_size` 计算每个部分的大小。接下来,我们创建了一个进程池,并使用 `apply_async` 方法处理每个部分的 DataFrame。最后,我们等待所有进程完成并收集结果。在 `process_dataframe` 函数中,您可以编写任何您需要的代码来处理 DataFrame。