Как установить сходство для таймера в C / C ++ под Linux?

У меня таймер создан с функцией timer_create(CLOCK_REALTIME, &events, &timer)где таймер является уникальным идентификатором таймера процесса (по словам человека).

Сейчас есть sched_setaffinity Функция для установки сродства для данного PID.

Как я могу установить привязку к своему таймеру? Не вся программа, а только нить таймера. Я не уверен, что ID таймера — это то же самое, что и PID.

0

Решение

Хорошо, я получил ответ.

Один из способов сделать это так:

  1. Создайте новую тему, используя pthread.
  2. Установите сходство для этой новой темы.
  3. В процедуре ввода нового потока инициализируйте таймер (создайте и установите). Мы можем использовать SIGEV_THREAD, так как это удобно.
  4. Поток таймера POSIX, а также потоки, созданные при переполнении таймера, будут наследовать сходство с нашим потоком, созданным на шаге 1.
  5. Присоединитесь к потоку из шага 1 с основным потоком. Этот поток перестанет существовать, но его дочерний поток (таймер) сохранится.
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]