python with ThreadPoolExecutor(100) as execute 我先在每个线程都创建一个RedisCluster对象该怎么写
时间: 2024-02-23 12:59:19 浏览: 122
你可以在创建线程池时,定义一个函数,用于在每个线程中创建 RedisCluster 对象。具体代码如下:
```python
import rediscluster
from concurrent.futures import ThreadPoolExecutor
def create_redis_cluster():
redis_nodes = [{'host': '127.0.0.1', 'port': 7000},
{'host': '127.0.0.1', 'port': 7001},
{'host': '127.0.0.1', 'port': 7002}]
return rediscluster.RedisCluster(startup_nodes=redis_nodes, decode_responses=True)
with ThreadPoolExecutor(100) as execute:
redis_clusters = [execute.submit(create_redis_cluster) for _ in range(100)]
```
在这个例子中,我们定义了一个名为 create_redis_cluster() 的函数,用于创建 RedisCluster 对象。在主线程中,我们使用 ThreadPoolExecutor 创建了 100 个线程,并将每个线程中执行的任务指定为 create_redis_cluster() 函数。这样,执行完毕后,我们可以得到包含 100 个 RedisCluster 对象的列表 redis_clusters。
阅读全文