Как сделать атомарный инкремент и выборку в C?

Я ищу способ атомарно увеличить короткое, и затем возвратить то значение. Я должен сделать это и в привилегированном режиме и в непривилегированном режиме, таким образом, это находится в C, в соответствии с Linux, на архитектуре Intel 32bit. К сожалению, из-за требований к скорости, взаимоисключающая блокировка не будет хорошим вариантом.

Там какой-либо другой путь состоит в том, чтобы сделать это? На данном этапе кажется, что единственная доступная опция состоит в том, чтобы встроить некоторый блок. Если это так, кто-то мог указать на меня к соответствующим инструкциям?

10
задан Ciro Santilli 新疆改造中心法轮功六四事件 16 June 2015 в 21:27
поделиться