Tworząc aplikację rozbitą na wiele wątków chcemy uzyskać jak największe przyśpieszenie poprzez zrównoleglenie wykonywania części programu. Niekiedy jednak trzeba zapewnić aby poszczególne wątki komunikowały się ze sobą lub koordynowały swoje działania. W najprostszym przypadku można użyć bloków lub metod synchronizowanych. Niekiedy potrzeba jednak użyć bardziej zaawansowanych metod, w takim przypadku możemy skorzystać z kolejki FIFO […]