<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Обзор средств для поддержки параллелизма в Java</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/84520.html</link>
    <description>В статье (http://programmersnook.blogspot.com/2012/05/java.html) с примерами рассматриваются основные возможности Java в области параллелизма, анализируются проблемы которые поддержка параллелизма призвана решить и приводятся некоторые детали реализации. Большинство из приведенной информации актуально для Java 6 и 7. &lt;br&gt;&lt;br&gt;URL: http://programmersnook.blogspot.com/2012/05/java.html&lt;br&gt;Новость: http://www.opennet.ru/opennews/art.shtml?num=33835&lt;br&gt;</description>

<item>
    <title>Обзор средств для поддержки параллелизма в Java (ДяДя)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/84520.html#12</link>
    <pubDate>Tue, 15 May 2012 07:57:20 GMT</pubDate>
    <description>А в Erlang, если не путаю, потоки легковесные и на потоки ОС напрямую не мапятся. Если на текущем процессоре ресурсы кончаются, то порождается новый поток ОС, который обслуживает несколько легковесных потоков Erlang-а.  &lt;br&gt;</description>
</item>

<item>
    <title>Обзор средств для поддержки параллелизма в Java (ДяДя)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/84520.html#11</link>
    <pubDate>Tue, 15 May 2012 07:52:17 GMT</pubDate>
    <description>Кстати, да. Циклы процессора расходуются впустую, поэтому не для всяких сообщений эффект будет одинаковым. Если очень много мелких сообщений, то проще тратить циклы процессора, чем останавливать поток.&lt;br&gt;</description>
</item>

<item>
    <title>Обзор средств для поддержки параллелизма в Java (humanoid)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/84520.html#10</link>
    <pubDate>Tue, 15 May 2012 07:25:35 GMT</pubDate>
    <description>&amp;gt;&amp;gt; ну вообще-то подсчет ссылок дорогая операция &lt;br&gt;&amp;gt; А я и не говорил про подсчёт. Подсчёт &amp;#8212; это частный, далеко &lt;br&gt;&amp;gt; не самый эффективный случай УЧЁТА ссылок.&lt;br&gt;&amp;gt; Объекты в Java передаются копиями ссылок (copy of reference). Ссылки передаются собственными &lt;br&gt;&amp;gt; значениями (reference by-value). (Во загнул! Но так оно и есть на &lt;br&gt;&amp;gt; самом деле). :) &lt;br&gt;&lt;br&gt;ну тогда извиняюсь если я неправильно понял, что подразумевалось под УЧЁТОМ&lt;br&gt;</description>
</item>

<item>
    <title>Обзор средств для поддержки параллелизма в Java (iZEN)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/84520.html#9</link>
    <pubDate>Mon, 14 May 2012 18:14:24 GMT</pubDate>
    <description>&amp;gt; ну вообще-то подсчет ссылок дорогая операция&lt;br&gt;&lt;br&gt;А я и не говорил про подсчёт. Подсчёт &amp;#8212; это частный, далеко не самый эффективный случай УЧЁТА ссылок.&lt;br&gt;&lt;br&gt;Объекты в Java передаются копиями ссылок (copy of reference). Ссылки передаются собственными значениями (reference by-value). (Во загнул! Но так оно и есть на самом деле). :)&lt;br&gt;</description>
</item>

<item>
    <title>Обзор средств для поддержки параллелизма в Java (humanoid)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/84520.html#8</link>
    <pubDate>Mon, 14 May 2012 17:59:44 GMT</pubDate>
    <description>&amp;gt; Суть проблемы Java и многопоточность в том, что все объекты передаются по &lt;br&gt;&amp;gt; ссылке. В Erlang, например (и во многих остальных функциональных языках), все &lt;br&gt;&amp;gt; объекты передаются по значению. Т.о. нет разделяемых областей памяти и проблем &lt;br&gt;&amp;gt; нет.&lt;br&gt;&lt;br&gt;про память уже сказали, плодить каждый раз по объекту при передачи далеко не всегда разумно&lt;br&gt;в том же clojure спокойно реализовали Software-Transactional Memory и передают по ссылке&lt;br&gt;&lt;br&gt;Идем дальше: shared immutable объекты - используем объект в качестве параметра, но изменять его нет возможности, нам из него данные получать, зачем для этого плодить новый объект ?&lt;br&gt;&lt;br&gt;Вопрос ведь не в том: можно или нельзя на java писать многопоточный код, а в уровне знаний необходимый для этого.&lt;br&gt;&lt;br&gt;Можно просто накидать блоков синхронизаций и локов - получишь печальку, &lt;br&gt;сделаешь по умному с отсутвсием разделяемых объектов, а если и разделяемымы то обязательно неизменяемыми - коду не на чем будет бороться за ресурсы и избавляешься от проблем синхронизации, все работает быстро и к</description>
</item>

<item>
    <title>Обзор средств для поддержки параллелизма в Java (humanoid)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/84520.html#7</link>
    <pubDate>Mon, 14 May 2012 17:40:47 GMT</pubDate>
    <description>ну вообще-то подсчет ссылок дорогая операция, поэтому сборщик работает по другому:&lt;br&gt;&lt;br&gt;1. имеется набор объектов которые доступны всегда + константные объекты, это все называется Root Set&lt;br&gt;2. на паузе (stop the world) проверяется на какие объекты ссылаются объекты из этого набора&lt;br&gt;3. проходим так нужное количество итераций, до тех пор пока не дойдем до объектов которые ни на кого не ссылаются&lt;br&gt;4. все объекты которые мы не пометили попадают под сборку&lt;br&gt;&lt;br&gt;Так же данный метод избавлен от главного недостатка метода с подсчетом ссылок: кольцевые зависимости (А ссылается на Б, Б ссылается на А)&lt;br&gt;&lt;br&gt;По поводу диструптора:&lt;br&gt;1. магия не только в кольцевом буфере (смотрим доклад с недавнего JavaDay в питере), обычную очередь можно разогнать до сопоставимых результатов&lt;br&gt;2. да, парковка дорогая операция, поэтому они жгут циклы процессора, лишь бы не останавливаться&lt;br&gt;3. дополнительная магия их скорости в том что пауз на сборке у них просто нету, так как используют Azule (далеко не у всех такие деньги будут)&lt;br&gt;</description>
</item>

<item>
    <title>Обзор средств для поддержки параллелизма в Java (iZEN)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/84520.html#6</link>
    <pubDate>Mon, 14 May 2012 14:50:57 GMT</pubDate>
    <description>&amp;gt; Суть проблемы Java и многопоточность в том, что все объекты передаются по ссылке.&lt;br&gt;&lt;br&gt;Протестую! В Java объекты передаются копиями ссылок и ведётся учёт времени жизни этих копий ссылок, а через них &amp;#8212; времени жизни объекта, на который они ссылаются.&lt;br&gt;</description>
</item>

<item>
    <title>Обзор средств для поддержки параллелизма в Java (жабабыдлокодер)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/84520.html#5</link>
    <pubDate>Mon, 14 May 2012 12:14:57 GMT</pubDate>
    <description>&amp;gt;  http://code.google.com/p/disruptor/ &lt;br&gt;&lt;br&gt;Очень интересная штука. Буду знать. Спасибо.&lt;br&gt;</description>
</item>

<item>
    <title>Обзор средств для поддержки параллелизма в Java (user)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/84520.html#4</link>
    <pubDate>Mon, 14 May 2012 12:07:49 GMT</pubDate>
    <description>Rust лишен обоих проблем.&lt;br&gt;</description>
</item>

</channel>
</rss>
