Например, у меня есть поисковые операции, которые выполняются одновременно. Первый, который находит совпадение, должен запустить задачу обновления, которая поставляет совпадения с gui. Я хочу гарантировать, что программа обновления запускается только один раз, но я хочу сделать это таким образом, чтобы добавить минимальные накладные расходы к поисковым операциям.в какао, что является хорошим способом гарантировать, что блок или задача будут выполняться только один раз?
Редактировать: если возможно, я хочу сделать это в macruby, который в настоящее время не имеет сопоставления для dispatch_once.
Спасибо. К сожалению, это не реализовано в macruby (и не планируется реализовать), поэтому я его не нашел. Возможно, я могу сделать класс obj-c, чтобы сделать только эту часть. –