タグ

Javaとスレッドに関するpoad1010のブックマーク (6)

  • Concurrency Utilities for EE 7

    Concurrency Utilities for EE 7 2013年5月15日 at 12:10 午前 日は、Java Day Tokyo に非常に多くの Java 開発者の皆様にお集まりいただきまして誠にありがとうございました。日私が C-4 のセッション「エンタープライズ環境における並列処理の実装方法について」で説明した資料に参考メモを付加した、参照用のバージョンを下記に公開します。 また併せて説明時に使用したデモ(CPU 256 個の環境で Java を並列処理実行させた際のデモンストレーション)動画も下記に公開します。下記のデモは内部的に単なる Σ 計算を行なっているだけなのですが、デモ動画をご覧いただくとわかるのですが、単なる逐次処理、JDK 1.0 からある昔ながらの Thread 生成方法、Concurrency Utilities を利用した場合で、どの位 CPU

    Concurrency Utilities for EE 7
  • Javaの理論と実践: スレッド・セーフの特性について

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Javaの理論と実践: スレッド・セーフの特性について
  • JavaでActorっぽいものを作ってみる - かとじゅんの技術日誌

    前回 JavaScalaの"アクターのようなもの"を作ろうということだったので、早速 作ってみました。目的は、Actorの概念に触れることで、並行処理プログラミングの勘所を学ぶことなので、その前提で読んでいただければと思います。 リソース共有モデルには限界がある 「オブジェクト指向プログラマが次に読む Scalaで学ぶ関数脳入門」には、複数のスレッド間でリソースを共有する「リソース共有モデル」の限界について触れています。 「リソース共有」モデルを前提としている限り、プログラムの規模が大きくなるに従って、並行処理にまつわる複雑さや問題に対処することが困難になってきます。 これに対して、もしスレッド間で同一リソースを共有しないで、協調処理を行うとしたらどうでしょうか。リソースを共有しなければ、データ不整合やデッドロックなどの、並行処理で問題とされていることを回避できるのです。メッセージパッ

    JavaでActorっぽいものを作ってみる - かとじゅんの技術日誌
  • Jetty 6 Continuations - Ajax対応! - FAX

    Jetty 6 Continuations - Ajax対応! 翻訳 (via こんな毎日・・・) 原文:Jetty 6.0 Continuations - AJAX Ready! 著者:Greg Wilkins Jetty 6.0.0 alpha 3がリリースされました! サーブレット2.4のサーバが400kのjarと、たった140kの依存ライブラリに収まっています。(さらにJSPが必要な場合でも、たった2.6Mです!!)。 小さくて、速くて、簡潔で魅力的な点は全く損なわずに、スケーラブルなAJAXアプリケーションを構築するための、Continuationsと言う新機能をJetty6はサポートしました。Continuationsは、スレッドを使わずに非同期イベントの待機を実現します。 コネクション単位スレッド スケーラブルなサーブレットサーバを構築する上で、主要な課題の1つにスレッドとコ

  • TomcatでHTTPセッション単位のデータを扱う方法

    PHPなどのシングルスレッドのWebアプリケーションを長く開発していると、何も考えずにクラス変数を使ってしまう...。 Tomcatは、シングルスレッドの設定を行わない限り、マルチスレッドで動作する(あらかじめいくつか複数のスレッドを起動しておき、リクエスト毎にどれかを使うような感じ)のでクラス変数を使うと全てのスレッドからアクセスが共有されてしまいます。 これは、たとえば現在のHTTPセッション(セッション間データを扱う「セッション変数」ではなく、1セッション内という意味)のみで統一的に扱いたいデータをクラス変数に入れておくと、HTTPセッションが終了してもそのデータが保持されたままになってしまうということです。 クラス変数はプロセス内で共有される変数なので、Tomcat起動中は同じプロセスですから当然といえば当然なのですが...、例えばデータベースコネクションなんかは上記のような形で扱

    TomcatでHTTPセッション単位のデータを扱う方法
  • @IT:事例に学ぶWebシステム開発のワンポイント(4)マルチスレッドのいたずらに注意

    今回のワンポイント コードのロジックに誤りを見つけられないのに、どうも正しく動作してくれない。このようなケースでは、マルチスレッドの影響を疑うべきだ。ServletやJSPはマルチスレッドで動作している(明示的にシングルスレッドで動作させることも可能だが)。そのため、変数の扱いに注意しないと、スレッドごとに値が書き換えられ、プログラムが正しく動作しない要因となる。 マルチスレッドのいたずら 機能確認の試験中は問題なかったのに、複数の端末から負荷をかけてみたらどうしたことか期待どおりに動作しない。プログラムを調査してみても原因が分からなくて途方に暮れる。こんな状況をさまざまなプロジェクトで何度も見掛けてきた。こういう状況になったら、プログラムがスレッドセーフ(複数のスレッドから同時にアクセスされても動作を保証された状態)かどうかを疑ってみることをお勧めする。 マルチスレッドに関する問題は、さ

    @IT:事例に学ぶWebシステム開発のワンポイント(4)マルチスレッドのいたずらに注意
  • 1