在Java中执行非线程安全可选操作的最快方法

在Java中执行非线程安全可选操作的最快方法,java,multithreading,concurrency,queue,Java,Multithreading,Concurrency,Queue,出于监控目的,我希望维护一个操作和结果的滑动窗口。我已经找到了一个数据结构来快速实现这一点,但它不是线程安全的。我也不在乎是否删除了一些数据,因为总体来说,情况应该还可以,那么在Java中,可以扩展到数百个线程的最快方法是什么呢?tryAcquire上带有超时的单例信号量是最好的方法吗?或者,当队列已满时丢弃消息的单线程执行器服务会更快吗?您可以只使用jdk中众多并发队列实现之一。例如,java.util.concurrent.LinkedTransferQueue它是无限的,线程安全的。但我不

出于监控目的,我希望维护一个操作和结果的滑动窗口。我已经找到了一个数据结构来快速实现这一点,但它不是线程安全的。我也不在乎是否删除了一些数据,因为总体来说,情况应该还可以,那么在Java中,可以扩展到数百个线程的最快方法是什么呢?tryAcquire上带有超时的单例信号量是最好的方法吗?或者,当队列已满时丢弃消息的单线程执行器服务会更快吗?

您可以只使用jdk中众多并发队列实现之一。例如,
java.util.concurrent.LinkedTransferQueue
它是无限的,线程安全的。但我不能完全肯定它的表现。也许还可以看看另一个类似的问题:你能提供更多的细节和例子吗?这远远不够回答。你的问题的标题和正文不匹配。您想要“非线程安全”解决方案还是线程安全解决方案?该操作是非线程安全的,因此我希望以线程安全的方式执行。关于您实际想要执行的操作的信息太少。您可以使用jdk中众多并发队列实现中的一种。例如,
java.util.concurrent.LinkedTransferQueue
它是无限的,线程安全的。但我不能完全肯定它的表现。也许还可以看看另一个类似的问题:你能提供更多的细节和例子吗?这远远不够回答。你的问题的标题和正文不匹配。您想要“非线程安全”解决方案还是线程安全解决方案?该操作是非线程安全的,因此我希望以线程安全的方式执行。关于您实际想要执行的操作的信息太少。