сегодня я нашел довольно забавную проблему. В основном этот код не работает, если вы удалите System.out.println. Он никогда не выходит внутрь, если без него !!! (Thread запускается из основного класса)Как это имеет смысл?
import java.util.LinkedList;
import java.util.Vector;
import java.util.Queue;
public class Matchmaking extends Thread{
public static Vector onlinePlayers = new Vector();
public static Queue<Player> queuedPlayers = new LinkedList<Player>();
@Override
public void run() {
while(true){
System.out.println(queuedPlayers.size());
if(queuedPlayers.size() >= 2){
new Matchmaking_GameFoundThreads(queuedPlayers.remove(),queuedPlayers.remove());
}
}
}
}
Проблемы параллелизма или отладки? – keyser
Что делает 'size()' do, точно? –
возвращает количество игроков в очереди (его код из игры). Поэтому каждый раз, когда в очереди есть 2+ игрока, они сопоставляются друг с другом. – Kores