В чем разница между реентерабельными и потокобезопасными функциями?
В чем разница между реентерабельными и потокобезопасными функциями?

Видео: В чем разница между реентерабельными и потокобезопасными функциями?

Видео: В чем разница между реентерабельными и потокобезопасными функциями?
Видео: Основные механизмы языков программирования. МиТП лекция 3. 2024, Ноябрь
Anonim

Потокобезопасный код - это код, который может быть выполнен из нескольких потоки безопасно , даже если вызовы происходят одновременно на нескольких потоки . Реентерабельный код означает, что вы можете делать все, что угодно потокобезопасный код может сделать, но также гарантирует безопасность даже если вы называете то же самое функция в пределах того же нить.

Кроме того, что такое реентерабельная функция?

А функция является повторно въезжающий если его можно вызвать в процессе выполнения. Это функция является повторно въезжающий если его можно прервать в середине выполнения (например, сигналом или прерыванием) и вызвать снова до завершения прерванного выполнения.

Кроме того, является ли QT потокобезопасным? Примечания к Qt Классы Множество Qt классы реентерабельны, но не созданы нить - безопасно , потому что делая их нить - безопасно повлечет за собой дополнительные накладные расходы, связанные с многократной блокировкой и разблокировкой QMutex. Например, QString реентерабельна, но не нить - безопасно . Некоторые Qt классы и функции нить - безопасно.

Соответственно, что такое потокобезопасные функции?

из википедии: Безопасность потоков концепция компьютерного программирования, применимая в контексте резьбовой программы. В частности, он должен удовлетворять потребность в нескольких потоки для доступа к одним и тем же общим данным, и необходимость того, чтобы к общему фрагменту данных мог получить доступ только один нить в любой момент времени.

Что такое рекурсивные функции?

С точки зрения программирования рекурсивная функция можно определить как процедуру, которая вызывает себя напрямую или косвенно.

Рекомендуемые: