Допустим, у меня есть два потока, A и B. Я создаю Thread B
от Thread A
для доступа к функции.Выполнение функции потокобезопасности или нет?
Thread A
использует функцию большую часть времени, а Thread B
редко использует ее по определенной команде.
Если я делаю функцию потокобезопасной, поставив ее вокруг критической секции, не будет ли она делать Thread A
медленной обработки за каждый раз, даже если Thread B
не существует? Или должен ли я делать работу Thread B
в Thread A
сам, а не создавать его?
Защита потоков для ресурсов, а не функций ... Если общих ресурсов нет, вам не нужно об этом беспокоиться. –
В зависимости от того, изменяете ли вы глобальное состояние в функции. Если это так, вы, вероятно, собираетесь сэкономить много времени и усугубить, используя критические разделы, даже если B «редко» называет это. –
Если 'Thread B' создается, а' Thread A' обращается к функции. будет ли ждать, что 'Thread A' оставит функцию? Функция имеет общие ресурсы, например, Edit Control. – user963241