try with ConcurrentLinkedQueue