\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;.
