java - 如何使用 cassandra session 进行多线程?

标签 java multithreading session cassandra

我使用 cassandra 作为 Web 应用程序(在 Java 中)的后端,其中每个用户需要创建唯一的 session 或使用单个 session ,如下面的 url 所示?

我在此链接中阅读了 session 信息。 https://docs.datastax.com/en/drivers/java/2.0/com/datastax/driver/core/Session.html

它说 Session 实例是线程安全的。意味着一次有一个线程可以使用该实例。

还写道,每个 session 维护与集群节点的多个连接。

问题是

  1. 如果 session 实例上只能使用一个线程,那么为每个 session 创建与集群节点的多个连接有何用处?
  2. 它不会减慢 session 上的多线程操作吗?

最佳答案

你错了,与不同线程共享实例是安全的:

A session holds connections to a Cassandra cluster, allowing it to be queried. Each session maintains multiple connections to the cluster nodes...

Session instances are thread-safe and usually a single instance is enough per application.

线程安全意味着与其他线程共享实例是安全的。这并不意味着您只能从一个中使用它。

关于java - 如何使用 cassandra session 进行多线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48079941/

相关文章:

java - 在 Spring MVC Controller 中反序列化 json 数组

java - 在 cXML 中返回不同的状态代码我还必须发回 HTTP 状态代码吗?

c++ - 通过等待条件等待多个正在运行的线程

java - 将使用多线程的程序变成使用阻塞队列的程序

jsp - 避免跨多个选项卡使用同一 session

java - 错误 : "class must implement abstract method X", 但它已经发生了

java - 在 JUnit 中自动注册扩展

javascript - 在 PHP 命令行中访问 session ?

multithreading - Dart 真的是一种单线程编程语言吗?

apache - 每个请求后的新 session ,tomcat 后端,apache 前端