现有一个队列,一个线程向里面写,一个线程往外取,还可能有一个线程检查队列中的项是否过期,请问应该怎么设计保证线程同步,以及访问的安全问题