add SafeQueue and its test
add SafeQueue and its test
add queue and its test