?

Log in

Previous Entry | Next Entry

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

В общем, статья тут: http://www.skipy.ru/technics/gui_sync.html. Читайте!

Все комментарии можно оставлять в этой теме.

Comments

ext_242636
Aug. 25th, 2010 10:55 am (UTC)
Volatile
Прошу прощения, что пишу сюда. Обсуждения для статьи Синхронизация Потоков нет, а тема с volatile здесь подымалась.

Неверно считать, что volatile только отключает механизмы синхронизации для переменной. Этот модификатор доступа гарантирует большее: обращение к переменной не будет переставлено местами с другими инструкциями с точки зрения всех потоков.

Это поведение дает возможность реализовывать, например, ConcurrentHashMap без захвата монитора. см. ConcurrentHashMap.java:335.
skipy_ru
Aug. 25th, 2010 01:44 pm (UTC)
Re: Volatile
Добрый день!

Разумеется, volatile делает не только то, что я написал. Более того, я об этом знаю. :) Просто в своих статьях я ориентируюсь на определенный уровень читателей. Если я полезу в дебри спецификации VM - большинство просто потеряет нить. Им это будет неинтересно, что, в конечном итоге, скажется на понимании основного материала.

Это все равно, что при описании ключевого слова synchronized перевести половину 17-й главы спецификации языка - про мониторы, блокировки, модель памяти, оптимизации и т.п. Я вот про это: http://java.sun.com/docs/books/jls/third_edition/html/memory.html. Безусловно, это всё имеет отношение к делу, однако у неподготовленного человека вызовет головокружение.

А потому - для большинства достаточно того, что я описал. Кто хочет знать больше - в итоге возьмет спецификацию, прочитает, увидит, что у меня в статье она переведена не вся, и напишет мне об этом. :)

P.S. Пишут регулярно. :)
ext_242636
Aug. 25th, 2010 01:49 pm (UTC)
Re: Volatile
Прошу прощения.
skipy_ru
Aug. 25th, 2010 03:40 pm (UTC)
Re: Volatile
Ой, да Бог с Вами! За что извиняться-то? Я, наоборот, очень рад подобным письмам. Они как минимум означают, что мои статьи кому-то интересны. А как максимум - мотивируют что-то сделать. Сегодня, например, я понял, что надо освежить в памяти Java memory model. Напечатал пресловутую 17-ю главу JLS, сижу, читаю. И это благодаря Вашему письму.

Так что если Вам есть что сказать по поводу других статей - пишите, я с удовольствием почитаю. И если Вам кажется, что что-то можно добавить - тоже пишите. Часто бывает так, что я написал статью, она полежала пару лет, а поотом я понимаю, что в нее можно что-то дописать. И еще что-то. И опять. И снова. И всё это, в основном - по результатам чьих-то писем!

С уважением,
Евгений aka Skipy