Описание тега libdispatch

Проект libdispatch состоит из реализации Grand Central Dispatch API в пользовательском пространстве.
1 ответ

Почему для NSOperationQueue.mainQueue.maxConcurrentOperationCount установлено значение 1

Причиной этого вопроса являются реакции на этот вопрос. Я понял, что понимание проблемы не полностью там, а также причина вопроса в первую очередь. Поэтому я пытаюсь свести причину другого вопроса к этому, по сути. Сначала небольшое предисловие и не…
04 янв '18 в 01:18
1 ответ

Как использовать GLFW для опроса событий в блоке libdispatch?

В продолжение ответа на вопрос Как использовать GLUT с libdispatch? Я сейчас использую GLFW вместо - Следующий код устанавливает окно, устанавливает таймер для опроса событий и со временем ставит в очередь обновления рендеринга: #include <dispatc…
24 сен '12 в 18:03
1 ответ

Этот сбой в libdispatch вызван доступностью?

Может кто-нибудь сказать мне, если этот сбой стека, кажется, вызвано Reachability? Я использую новейшую реализацию Apple Reachability, которую можно загрузить по адресу https://developer.apple.com/library/ios/samplecode/reachability/Introduction/Int…
4 ответа

Доступны ли блоки и libdispatch в Linux?

Я бы с удовольствием попробовал грандиозную центральную диспетчеризацию, но все, что мне нужно для разработки, это рабочая станция Ubuntu. Доступен ли в Linux пакет libdispatch и расширение блоков для c/obj-c и т. Д.? Если так, как я могу получить и…
12 апр '11 в 18:36
1 ответ

libDispatch обслуживает основную очередь без dispatch_main на Android

Я использую libDispatch (GCD) с открытым исходным кодом на платформе Android. Итак, большинство сложных трудоемких задач выполняется через NDK (где я использую libDispatch). Для некоторых вызовов я использую dispatch_async(get_main_queue)... Это то,…
1 ответ

Сколько потоков следует создать в Grand Central Dispatch?

Я понимаю, что GCD будет создавать столько потоков, сколько необходимо для наилучшего использования процессора. В коде используя dispatch_async чтобы запустить около 30 фоновых задач, я вижу, что количество потоков в мониторе активности увеличилось …
0 ответов

Какова модель планирования для libdispatch (GCD)?

Какова модель планирования для блоков в libdispatch? Я понимаю, что есть разные очереди с разными приоритетами. Это так просто, как очередь с наивысшим приоритетом обслуживается первыми рабочими потоками? Если это так, как избежать голодания в очере…
20 июл '16 в 04:20
2 ответа

Гранд Сентрал Диспетчер без блоков

Можно ли использовать GCD без блоков? Есть ли способ использовать GCD, используя вариант _f, как говорит mikeash в своем посте. Я искал вокруг, и нет никаких доказательств для обеих сторон. это возможно или невозможно. Если это возможно, приведите п…
23 июл '13 в 13:20
2 ответа

Является ли следующее безопасным использование dispatch_set_target_queue()?

То, что я хочу сделать, это создать косвенную очередь, ориентированную на основную очередь. dispatch_queue_t myQueue = dispatch_queue_create("com.mydomain.my-main-queue", NULL); dispatch_set_target_queue(myQueue, dispatch_get_main_queue()); Моя коне…
1 ответ

Ubuntu libdispatch

Я пытаюсь портировать программу, которая использует GCD (Grand Central Dispatch), из OSX в Ubuntu 11.10. Я установил libdispatch, но продолжаю получать следующую ошибку: undefined reference to dispatch_main() Странно то, что dispatch_main() объявлен…
1 ответ

Куда импортируется libdispatch AKA Grand Central Dispatch?

Я читаю документацию Apple по параллелизму, более конкретно по NSOperationQueue против очереди отправки. Они говорят это: "Очередь операций является какао-эквивалентом параллельной очереди отправки..." Что заставило меня задуматься, если NSOperation…
1 ответ

Как использовать GLUT с libdispatch?

И GLUT, и libdispatch имеют свои собственные циклы обработки событий, которые вызываются с помощью функций, которые никогда не возвращаются: glutMainLoop(); а также dispatch_main();соответственно. Я пробовал: dispatch_queue_t q = dispatch_get_global…
23 сен '12 в 15:24
1 ответ

Разве dispatch_semaphore_wait не является FIFO?

Документация для dispatch_semaphore_wait говорит, что "ждет в FIFO порядке сигнала". Но, похоже, в этом примере - кто-то может объяснить, пожалуйста? Пример: #include <dispatch/dispatch.h> #include <stdio.h> dispatch_queue_t q1, q2; dis…
06 июл '11 в 18:30
1 ответ

Получение единого основного потока в программе с использованием GCD

Используя это в качестве системы отсчета, есть ли какая-то причина, по которой следующий пример {не может} / {не приведет} к тому, что пул потоков GCD будет работать исключительно в основном потоке? int main() { dispatch_queue_t myQueue = dispatch_q…
18 фев '15 в 21:46
1 ответ

Как запустить swift и libDispatch на ARM (Raspberry Pi)

Цель - запустить swift и libDispatch на Raspberry Pi 3. Я использую Ubuntu Core 16.04 Где я нахожусь: я попытался получить SR-397 ( https://bugs.swift.org/browse/SR-397) для компиляции - это минимальный пример Swift libDispatch. Проекты для этого SR…
19 май '18 в 09:54
0 ответов

Влияние большого расхода нитей на ARM

У меня есть настольное приложение Linux реального времени (написанное на C), которое мы портируем на ARM (4-ядерные процессоры Cortex v8-A72). Архитектурно, он имеет комбинацию высокоприоритетных явных pthreads (6 из них) и пару рабочих очередей GCD…
1 ответ

Совместимость NSOperationQueue и GCD

Я создаю библиотеку, для которой я хотел бы, чтобы обработка происходила в одной последовательной очереди. Некоторые из API, которые я использую, принимают NSOperationQueue (например NSURLSession) и некоторые берут dispatch_queue_t (например CBCentr…
1 ответ

Что означает этот код из libdispatch (apple-open-source)?

Я с трудом понимаю следующий код: struct dispatch_block_private_data_s { DISPATCH_BLOCK_PRIVATE_DATA_HEADER(); static void* operator new(size_t) = delete; static void* operator new [] (size_t) = delete; explicit inline DISPATCH_ALWAYS_INLINE dispatc…
13 фев '19 в 09:51
7 ответов

Куда отправляется в Swift 3?

Итак, я узнал о новом Swifty Dispatch API в Xcode 8. Мне нравится использовать DispatchQueue.main.asyncи я просматривал Dispatch модуль в Xcode, чтобы найти все новые API. Но я также использую dispatch_once чтобы убедиться, что такие вещи, как созда…
1 ответ

SIGILL после форка в Sage/Python

Я делаю некоторые вычисления с мудрецом. Я играю с fork, У меня есть очень простой тестовый пример, который в основном так: def fork_test(): import os pid = os.fork() if pid != 0: print "parent, child: %i" % pid os.waitpid(pid, 0) else: print "child…
31 май '13 в 08:22