libstpool — это открытый, лёгкий, кроссплатформенный динамический пул потоков C/C++, библиотека пулов задач. Поддерживает Windows, Linux, Unix, ARM, MAC/OSX, NDK и предоставляет богатый набор функций.
Функции:
Компиляция и установка:
Linux/MAC:
Windows:
ARM: (предполагается, что используется кросс-компилятор arm-linux-gcc, а каталог установки библиотеки находится в текущем каталоге install_dir): *./configure --prefix=./install_dir --host=arm-linux-. *make -j2 && make install.
NDK:
Установка libstpoolc++ (простая оболочка C++ для libstpool):
Библиотеки:
Заголовочные файлы:
Файлы библиотек:
Библиотеки, созданные с помощью Makefile (обычно для систем, отличных от Windows):
Библиотеки, сгенерированные с помощью VS (для систем Windows):
Пример использования:
/** Определение ожидаемого набора возможностей */
eCAPs = eCAP_F_DYNAMIC|eCAP_F_ROUTINE|eCAP_F_TASK_WAIT_ALL;
/** Создание пула потоков */
pool = stpool_create("mypool", /** имя пула потоков */
eCAPs, /** ожидаемые функции libstpool */
5, /** максимальное количество потоков в пуле */
0, /** количество предварительно запущенных потоков */
0, /** сохранение состояния пула после создания */
1 /** число очередей приоритетов */
);
/** Добавление 10 задач */
for (i=0; i<10; i++) {
stpool_add_routine(pool, "mytask", task_run, task_err_handler, NULL, NULL);
}
/** Ожидание завершения всех задач */
stpool_wait_all(pool, -1);
/** Печать информации о состоянии пула */
puts( stpool_stat_print(pool) );
/** Освобождение пула потоков */
stpool_release(pool);
Обратная связь:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )