как установить привязку ЦП конкретного pthread?

Для пользы простоты я просто реорганизовал бы HTML немного для помещения недавно отображенного содержания в элементе, с которым связывается событие mouseOver:

<div id="hoverable">
  <a>Hover Me</a>
  <div style="display:none;">
    <input>Test</input>
    <select>
      <option>Option 1</option>
      <option>Option 2</option>
    </select>
  </div>
</div>

Затем Вы могли сделать что-то вроде этого:

$('#hoverable').hover( function() { $(this).find("div").show(); },
                       function() { $(this).find("div").hide(); } );
<час>

Примечание: Я не рекомендую встроенный css, но он был сделан для создания примера легче к обзору.

56
задан 10 September 2009 в 21:19
поделиться

1 ответ

Предполагается, что linux:

Интерфейс для установки привязки - как вы, вероятно, уже заметили:

int sched_setaffinity(pid_t pid,size_t cpusetsize,cpu_set_t *mask);

Передача 0 в качестве pid, и он будет применяться к текущему потоку только, или попросите другие потоки сообщить свой идентификатор ядра с помощью специфичного для Linux вызова pid_t gettid (void); и передать его как pid.

Цитата из страницы руководства

Маска сродства на самом деле является атрибутом потока, который может быть настраивается независимо для каждого из темы в группе потоков. Значение вернулся из вызова gettid (2) может быть переданным в аргументе pid. Если указать pid как 0, атрибут для вызывающего потока и передача значения, возвращенного из вызова to getpid (2) установит атрибут для основной нити нити группа. (Если вы используете POSIX потоков API, затем используйте pthread_setaffinity_np (3) вместо sched_setaffinity ().)

42
ответ дан 26 November 2019 в 17:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: