如何向 ThreadPoolExecutor 中提交任务?
浏览量:107
点赞量:0
要向ThreadPoolExecutor中提交任务,您可以使用submit()方法。submit()方法接受一个可调用对象作为参数,并返回一个Future对象,该对象表示异步操作的结果。例如,以下代码提交了一个简单的任务,并等待它完成:
```python
from concurrent.futures import ThreadPoolExecutor
def my_task():
print('Hello, world!')
executor = ThreadPoolExecutor(10)
future = executor.submit(my_task)
result = future.result()
```
在这个例子中,我们定义了一个简单的函数my_task(),它打印一条消息。然后,我们创建了一个大小为10的线程池,并使用submit()方法将my_task()函数提交到线程池中。submit()方法返回一个Future对象,我们可以使用它的result()方法等待任务完成并获取结果。在这个例子中,我们没有传递任何参数给my_task()函数,但是您可以通过submit()方法的额外参数传递参数。例如,以下代码提交了一个带有参数的任务,并等待它完成:
```python
def my_task(name):
print(f'Hello, {name}!')
executor = ThreadPoolExecutor(10)
future = executor.submit(my_task, 'world')
result = future.result()
```
在这个例子中,我们修改了my_task()函数,以接受一个参数name。然后,我们使用submit()方法将my_task()函数和参数提交到线程池中。在这个例子中,我们传递了参数'world'给my_task()函数。
说明:本站所有资源仅供学习与参考,如有侵犯您的版权,请及时联系liuqiang@zjkytwl.com,我们将尽快处理。
贡献者:
薄露如霜
邮箱:
捐赠: