JAVA开启三个线程,去读取数组中的数据不能重复

Python017

JAVA开启三个线程,去读取数组中的数据不能重复,第1张

set中是不能存在重复数的。

这个可以通过修改数据时间来判断。例如:表中有个字段读取时间。当这个客户读取10条数据的时候,更新读取时间为当前时间。然后下个客户读取的时候,判断时间在半个小时内,没有更新的数据。就OK了。

例如:一个线程正准备往进去写数据,突然切到另一个线程它先写了进入,在切回来这个线程并不知道这个位置已经写入了数据,所以它还是会傻傻的写入数据,这样另一个线程的数据就被覆盖了。如果是一边添加 ,一边遍历的话程序会产生ConcurrentModificationException异常。

所以要用copyonwritearraylist是最好的选择,但是注意的是,添加元素时它的性能不是很好 。