Cassandra Datastax cpp-driver - 回调似乎使用 1 个线程
Cassandra Datastax cpp-driver - Callbacks seem to use 1 thread
我目前正在使用 CassFuture 回调未来来实现用于处理 Cassandra 查询的异步模式。似乎所有回调都来自同一个线程。这是预期的行为吗?
假设您使用的是当前版本的驱动程序 (v2.9.0),线程数是在创建会话之前通过 cass_cluster_set_num_threads_io() 配置的,默认为 1 .如果您增加集群配置中的 IO 线程数,您会注意到 CassFuture 回调将开始出现在不同的线程上。
注意: 如果你的回调很慢,考虑在一个单独的线程上 运行;否则回调可能会阻止在 callback/IO 线程上执行的其他请求的 IO 操作。另一个建议是不要使用硬件配置中可用的完整 cores/virtual 个内核,因为这可能会耗尽客户端应用程序的资源(并且可能会耗尽 OS 服务的资源)。
我目前正在使用 CassFuture 回调未来来实现用于处理 Cassandra 查询的异步模式。似乎所有回调都来自同一个线程。这是预期的行为吗?
假设您使用的是当前版本的驱动程序 (v2.9.0),线程数是在创建会话之前通过 cass_cluster_set_num_threads_io() 配置的,默认为 1 .如果您增加集群配置中的 IO 线程数,您会注意到 CassFuture 回调将开始出现在不同的线程上。
注意: 如果你的回调很慢,考虑在一个单独的线程上 运行;否则回调可能会阻止在 callback/IO 线程上执行的其他请求的 IO 操作。另一个建议是不要使用硬件配置中可用的完整 cores/virtual 个内核,因为这可能会耗尽客户端应用程序的资源(并且可能会耗尽 OS 服务的资源)。