Штатными средствами нельзя.
Только если вводить глобальную переменную, которая будет сигнализировать о том, что надо потоки ставить на паузу.
Потом создать функцию, которая проверяет статус этой глобальной переменной, и если статус пауза - запускать цикл с паузой с проверкой, не снялась ли пауза.
Потом уже в код потока пихать эту функцию в наиболее критичных местах, где стоит поставить поток на паузу.
Разное количество потоков у функций
-
Добрый день, подскажите, можно ли для разных функций задавать разное количество потоков?
Например, основная функция идет одним потоком, потом внутри основной функции вызывается дополнительная функция уже с 10 потоками. Дополнительная функция завершается и дальше продолжается основная и т.д.?
Либо есть ли возможность "убить" ненужные потоки в основной функции и потом восстановить их в дополнительной функции? Спасибо! -
@bvvcpa Пока такая возможность реализована только на уровне апи, в конструктор она не выведена. Но это легко имитировать используя глобальные переменные.
Например, основная функция идет одним потоком
Пусть это будет секция номер 1
потом внутри основной функции вызывается дополнительная функция уже с 10 потоками
Секция номер 2
функция завершается и дальше продолжается основная
Секция номер 3
Пусть номер секции будет храниться в глобальной переменной. Тогда в начале потока в зависимости от текущей секции будет выполняться функция Stage1, Stage2, Stage3 соответственно.
Разное количество потоков можно обеспечить вызывая сон в случае, если секция равна 1 или 3 и номер потока больше 1.
Вот пример реализации:

В будущем будет возможно редактировать секции через пользовательский интерфейс.