История изменений
Исправление alysnix, (текущая версия) :
А что там еще не обсуждено?
транзакционная память медленней и больше жрет ресурсов, чем наивные блокировки, на самом деле. транзакционная память это все те же танцы с бубном вокруг вздорных локфри идей, которым в обед сто лет… и которые себя всерьез не показали. потому что в момент, когда проиходит естественное столкновенение на данных двух тредов, тогда при наивном подходе(который естественнен) один из них блокируется, а при идеях локфри - второй тред не блокируется, а пишет копию, которая потом «вмерживается» в данные.
в первом случае тред стоял в ожидании и давал возможность работать другим тредам с другими данными, во втором случае тред не давал другим работать, а делал копию, а потом ее кто-то вмерживал. очевидно что система потратила время на вмерживание(как минимум), и в целом работала дольше, чем в первом случае.
работающая система, это не два треда что борются за одну ячейку памяти, але теоретики! а сотни тредов, что борются за свои участки. то есть отправка в ожидание одного треда не есть вред!!! это дает возможность другим тредам делать что-то полезное. например на экране картинки рисовать. или байтики в порты кидать.
Исходная версия alysnix, :
А что там еще не обсуждено?
транзакционная память медленней и больше жрет ресурсов, чем наивные блокировки, на самом деле. транзакционная память это все те же танцы с бубном вокруг вздорных локфри идей, которым в обед сто лет… и которые себя всерьез не показали. потому что в момент, когда проиходит естественное столкновенение на данных двух тредов, тогда при наивном подходе(который естественнен) один из них блокируется, а при идеях локфри - второй тред не блокируется, а пишет копию, которая потом «вмерживается» в данные.
в первом случае тред стоял в ожидании и давал возможность работать другим тредам с другими данными, во втором случае тред не давал другим работать, а делал копию, а потом ее кто-то вмерживал. очевидно что система потратила время на вмерживание(как минимум), и в целом работала дольше, чем в первом случае.
работающая система, это не два треда что борются за одну ячейку памяти, але теоретики! а сотни тредов, что борятся за свои участки. то есть отправка в ожидание одного треда не есть вред!!! это дает возможность другим тредам делать что-то полезное. например на экране картинки рисовать. или байтики в порты кидать.