タグ

ブックマーク / blog.j5ik2o.me (4)

  • マルチコア時代に備えて本気でメモリモデルを理解しておこう - メモリバリア編 - - じゅんいち☆かとうの技術日誌

    このエントリを読む前提条件として、マルチコア時代に備えて気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - じゅんいち☆かとうの技術日誌を読んで、リオーダーとは何かを理解していることとします。 前回のおさらいをすると、 プログラムの実行順序は、リオーダーが許可される場合と禁止される場合がある。並行処理ではリオーダーを想定しなければ、処理結果の整合性が確保できない。(特にマルチプロセッサ環境) リオーダーを禁止して、可視性を保証する。(finalフィールドはコンストラクト時に完全に初期化され、コンストラクト後はスレッドから見えるようになる) でした。 リオーダーについて理解できたら、今度はメモリバリア命令でスレッド毎に扱うメモリと、大域のメインメモリとのメモリI/Oについて見ていきたいと思います。メモリバリアが理解できれば、以下のソース*1のスレッドがな

    マルチコア時代に備えて本気でメモリモデルを理解しておこう - メモリバリア編 - - じゅんいち☆かとうの技術日誌
    mainyaa
    mainyaa 2011/08/21
  • マルチコア時代に備えて本気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - かとじゅんの技術日誌

    長い文章になってしまったので、概要だけ先に書きます。 以下のJavaプログラムは、常に上から下に順番に命令が実行されると思いますか?つまり、aに1が格納された後に、bに2が格納されると思いますか? 実は場合によってはこの実行順序が入れ替わる場合があります。これはJavaの言語仕様として定義されていることです。これを考慮しないと信頼性のある並行処理は実装できません。 気になる人は以下を読んでみてください。 a = 1; b = 2; すでにインターネットは社会インフラ化しています。ソーシャルネットワークで多くの人とコミュケーションやコラボレーションできる時代で、個人が情報を作り消費することは当たり前になってきています。そして、インターネット上のコンテンツは増加の一途を辿っています。「情報爆発」なんて言葉も耳慣れた言葉になりましたが、その問題解決のためにMapReduceなどの分散処理技術に注

    マルチコア時代に備えて本気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - かとじゅんの技術日誌
  • 転職先が決まりました - かとじゅんの技術日誌

    転職活動を始めました - じゅんいち☆かとうの技術日誌 の結果発表の時が来ました。ということで、転職先が決まりました。 「バリューパックでセットで転職をできればいいねぇー」なんていってましたが、結局 別々の会社に転職することになりました。まぁ、別々の会社に行っても、お互いに触発しあえる存在というのは変わらないので。 そして、私は23日から 株式会社ドワンゴ の社員になります。java-jaの人たちから声を掛けてもらったのがきっかけです。 当初は、分散処理系や研究開発系の業務を想定していましたが、技術を使って、なんか面白いこと、変わったこと、インパクトがあることをやってみたいという思いがあり、決断した次第です。 そもそも書ききれないと思いますが @coji,@yamashiro,@kwappa,@yoshiori,@suzuki0keiichi,@kenmaz,@fd0, @meso,@ug

    転職先が決まりました - かとじゅんの技術日誌
  • チェック例外がJavaにあってC#にない理由 - かとじゅんの技術日誌

    例外の再考 - じゅんいち☆かとうの技術日誌 に引き続き、チェック例外がJavaにあってC#*1になぜがないか考察してみようと思います。 また、いろいろググっているとよい記事がありました。 なぜ C# の言語仕様に検査例外がないのか?という記事。 "Why doesn't C# have exception specifications?" http://msdn.microsoft.com/en-us/vcsharp/aa336812.aspx 基原文読んでくださいね。私の英語力は当てにならないのでw ここで言及しているのは以下の項目。順におっかけてみよう。 Versioning Productivity and code quality Impracticality of having class author differentiate between "checked" and

    チェック例外がJavaにあってC#にない理由 - かとじゅんの技術日誌
  • 1