Почему мы не ставим synchronized в method2 ? Как я понял переменная param является общей переменной, тем самым и общим ресурсом. Поправьте где я не прав?