工作小总结

synchronized使用的时候疑问

疑问描述:应用场景如下:Java语言中Queue<ReportPropertyMessage>subDeviceDatasToReport=newArrayBlockingQueue<>(60)在消费队列内数据的时候 synchronized(subDeviceDatasToReport){}使用的是synchronized锁,消耗需要5分钟 在offe

疑问描述:

应用场景如下:Java语言中

Queue<ReportPropertyMessage> subDeviceDatasToReport = new ArrayBlockingQueue<>(60)

在消费队列内数据的时候

 synchronized (subDeviceDatasToReport){} 使用的是synchronized锁,消耗需要5分钟

 在offer消息的时候,也是用了 synchronized (subDeviceDatasToReport){},每30s向队列中加入一条数据

 疑问:

在消耗队列时候5分钟内,是否还可以向队列中offer数据?如果不能,那么这五分钟内10条数据是否就丢失了?

如果丢失了,需要怎么做,才可以保证数据不丢失


解答:

在你的描述中,使用了s

原创不易,完成人机校验,阅读全文

相关推荐