Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет yigal_s ([info]yigal_s)
@ 2013-08-02 23:17:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry

The first lock-free style uses atomic variables (Java/.NET volatile, C++0x atomic) that enjoy special semantics with compiler and processor support. Consider an example similar to the aforementioned code, but written in a lock-free style, where myTurn is an atomic variable protecting x:


while( !myTurn ) { } // enter critical section (spin read)
... read/write x ...
myTurn = false; // exit critical section (write)


Это, меж прочим, аж в 2007-м году написал председатель комитета стандартизации С++, да не где-нибудь а в Dr.Dobbs
http://www.drdobbs.com/article/print?articleId=201804238&siteSectionName=cpp

А нам, моськам, остается только тявкать. Ну, или подвывать.
Хотя лично я, разумеется, в lock-free не понимаю ни черта практически. Да и в критических секциях последнее время как-то уж не шарю, ибо задор пропал, равно как и пропало ощущение осмысленности этих жонглирований кинжалами. Пока закапываться в Эрланг и Хаскель, по крайней мере тогда мои немножко излишние знания будут заведомо не применимы на практике.


(Добавить комментарий)


[info]solomon2@lj
2013-08-03 02:44 (ссылка)
Вот-вот. Я давно понял, что лучший способ писать мультитредный код - это не писать его вообще :)

(Ответить) (Ветвь дискуссии)


[info]yigal_s@lj
2013-08-03 02:50 (ссылка)
(не моя мысль) живем просто в каменном веке компьютерных технологий, вот и мучаемся.

А мультитредный код писать интересно, когда это дело востребовано, как раз потому интересно, что непросто. Другое дело, что в иделе это должно быть просто и скучно. )))

(Ответить) (Уровень выше)