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