我想知道用于 Cassandra 查询的 python 中 execute_async()execute_concurrent() 之间的区别。

最佳答案

execute() 将运行一个语句作为阻塞调用,直到语句完成执行才会返回。
execute_async() 将提交一个语句作为异步调用,该语句将立即返回一个 response_future 对象,您可以稍后使用它来检索结果。通过调用 execute_async ,您的程序可以继续运行而无需等待语句完成。由于它是非阻塞的,您可以通过重复调用它来提交许多语句,并使它们同时处于“飞行状态”。
execute_concurrent() 是一个阻塞调用,它将并行运行一个语句列表并返回一个结果列表。就像线程池一样,您可以指定要允许它一次运行多少条语句。如果您希望在任何语句导致错误时立即返回,您可以设置一个标志。

10-08 00:30