\b;Инструкция \c;synchronized\n; (для специалистов) Метод \l;класса\u cbot\class; может быть объявлен с помощью \c;synchronized\n;. Данный метод помогает убедиться в том, что какая-либо функция никогда не выполняется более чем одним ботом. Проиллюстрируем проблему: \c; \s;class blocking \s;{ \s; static int nb = 33; \s; synchronized int inc( ) \s; { \s; int val = nb; \s; wait ( 2 ); // ждать 2 секунды. \s; nb = nb + 1; \s; return val; \s; } \s;} \n; Что произойдет. если два боту будут выполнять метод \c;inc\n; в одно время¦? Оба она будут выполнять \c;val=nb\n; и ждать две секунды, так что один из них будет иметь \c;val=33\n;. С помощью \c;synchronized\n; первый бот начнет выполнение с \c;val=33\n; и подождет 2 секунды, а затем вернет значение. Только после того, как первый бот вернет значение из метода \c;inc\n;, второй бот начнет выполнять метод \c;inc\n; и, следовательно, второй бот будет всегда иметь \c;val=34\n;. Вы можете иметь больше синхронизаций \l;классов\u cbot\class; для того, чтобы предотвратить выполнение одного метода более чем одним ботом. Другими словами: до тех пор, пока один бот не закончит работу, другие боты не смогут выполнить этот класс. \t;См. также \c;\l;class\u cbot\class;\n;, \c;\l;static\u cbot\static;\n; \l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.