i think word synchronization means in a proper order and queue is most sutaible data structure bcz they are in FIFO manner
but if you use stack then order of data get reverse bcz stack is in LIFO manner so wrong . and priority queue used when data are comes randomly and we want to set the order of data so it also wrong and remaining circular link list in which we need to maintain the two pointer and , occupying space, and it requires more processing to insert or delete an element so QUEUE is answer
BUT if they give circular queue in option then it will be more efficent theh normal queue