4

我需要statsd在 Web 应用程序中使用线程安全客户端来监视用户线程的统计信息。请提出一个既线程安全又不影响性能的解决方案。

4

1 回答 1

2

示例目录中的 Java 客户端StatsdClient.java怎么样?他们在 Java 客户端实现中使用同步。在类注释中是一个用法示例:

StatsdClient client = new StatsdClient("statsd.example.com", 8125);
// increment by 1
client.increment("foo.bar.baz");
  1. increment(String)代表到
  2. increment(String, int)哪个代表
  3. increment(String, int, double)它生成一个要调用的字符串
  4. send(double, String...)最后调用
  5. sendTo(String)它使用修饰符synchronized

这也适用于此类中的其他方法。当然,将所有相关方法声明为synchronized不会创建线程安全类。但我相信 Etsy 在这里考虑到了这一点并做到了这一点。

于 2013-01-23T19:27:32.977 回答