我需要在 Web 应用程序中使用线程安全的 statsd
客户端来监视用户线程以获取统计信息。请提出一个既线程安全又不影响性能的解决方案。
最佳答案
Java 客户端呢 StatsdClient.java在examples directory ?他们在 Java 客户端实现中使用同步。在类评论中有一个用法示例:
StatsdClient client = new StatsdClient("statsd.example.com", 8125);
// increment by 1
client.increment("foo.bar.baz");
increment(String)
委托(delegate)给increment(String, int)
委托(delegate)给increment(String, int, double)
生成要调用的字符串send(double, String...)
最后调用sendTo(String)
使用修饰符synchronized
这也适用于此类中的其他方法。
诚然,将所有相关方法声明为 synchronized
并不能构成线程安全类。但我相信 Etsy 在这里考虑到了这一点并做到了这一点。
关于java - 是否存在线程安全的 statsd 客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14485105/