タグ

javaとThreadに関するhatehate331000のブックマーク (8)

  • Tomcat 7も対応したServlet 3.0の変更点 後編

    Tomcat 7も対応したServlet 3.0の変更点 後編:Tomcat 7の新機能で何ができるようになるのか?(2)(1/3 ページ) 前回の「Tomcat 7も対応したServlet 3.0の6つの主な変更点」では、「Tomcat 7」が実装したServlet 3.0の新機能のうち「Ease of Development(EoD、開発容易性)」「Pluggability and Extendibility(モジュール化と拡張性)」について紹介しました。今回はAsynchronous processing(非同期処理)、セキュリティSession Tracking、マルチパート対応を紹介します。 アノテーションによる非同期処理 Servlet 3.0から非同期処理が使えるようになりました。Servlet 2.5までは、Servlet上でスレッドを生成・起動し、リクエストやレスポンス

    Tomcat 7も対応したServlet 3.0の変更点 後編
  • Javaのスレッドセーフを理解していないJavaプログラマ。 - (define -ayalog ’())

    Java僕のことです。はい。 ちょっと調べながら書きます。 ちなみに僕がプログラミングを格的(?)にしたのってここ2年くらいなんですよね。 就職すればプログラマになれるって気で信じてました。あの頃の僕は死んでください。 んで、このままじゃダメだって気付いて勉強し始めたの最近なんで、ちょっと生暖かい目で見てください。 んで、なんでスレッドセーフかというと。。 JavaにStringで"文字列"の"X文字目"に"渡された文字列"を追加するメソッドないっけ?ってAPI眺めてる。— 綺人(社畜のゴミコードらい)さん (@ayato0211) 2月 8, 2012 この発言のあとにStringBuilder.insert使えばいいじゃないって言われたんですね。 で、幾つか会話を重ねた後に、StringBuilderはスレッドセーフじゃないよって言われて、「スレッドセーフってなんだ?」という状態

  • 4. スレッドの制御 (4)

    4.4. スレッドを停止させるには stopメソッドは推奨されないメソッドでした。それでは、スレッドを停止させるにはどうすれよいのでしょうか。 スレッドが自分自身を終了させるには、実行中のrunメソッドを終了するようにしておきます。startメソッドによって新しく起動されたスレッドは、runメソッドが終了すると消滅します。 自分以外のスレッドを終了させるには、一般的に次のような方法を用います。 runメソッドを実装したクラスで、スレッドの実行状態を表現するboolean型変数を宣言する。 runメソッド内で、繰り返しスレッドの実行状態を確認し、実行状態が「終了」を示す値になっていればrunメソッドが終了されるようにしておく。 そのスレッド実行状態を変更するためのメソッドを宣言する。 スレッド実行状態を「実行中」を示す値に設定し、新しいスレッドを起動する。 外部から、スレッド実行状態を変更す

  • Java の ExecutorService の使い方 - Java 入門

    Java の ExecutorService でスレッドプールを利用できる ここで説明するのは、おそらくもっとも安全にマルチスレッドプログラムを書く方法です。 さらに同様の方法で簡単に拡張することで、複数のスレッドを効率よく使うスレッドプール (Thread Pool) を利用できますので、 ぜひ覚えておきたい方法です。 その方法とは、 ExecutorService を利用することです。 ExecutorService では、 「Java のマルチスレッド・プログラミングの基」 でみたように Thread オブジェクトをそのまま生では使いません。 ExecutorService ではスレッドプールが用意されるので、そこにタスクがディスパッチされることで処理が行われます。 Java のタスクの状態 Executor によって処理されるタスクの状態は次の四つです。 created (作成さ

    Java の ExecutorService の使い方 - Java 入門
  • Java一意メモ(Hishidama's Java unique-id Memo)

    自分のプログラム内で一意となるIDを振りたいなら、使えるのはUIDやVMIDだろうか。他のは よー分からん(爆) System.out.println(new UID()); System.out.println(new VMID()); File#createTempFile() 例えばUIDやVMIDを使って重複しない一時ファイル名を生成するという使い道も考えられる。 ただしUID#toString()は「1b32f29a:11beb5202b3:-8000」の様にコロン「:」を含むため、Windowsではそのままではファイル名には使えない。String#replace(':', '_')とかで変換してやる必要がある。(VMIDも同様) でも、一時ファイルを生成するにはFile#createTempFile()を使うのが一番素直でしょう。 Thread#getId() Thread#g

  • Java7 使ってみました。(TransferQueue)

    今度リリースされる、Java7の新クラスの1つである「TransferQueue」を使ってみました。 説明によると、TransferQueueはQueueのクラスで、あるスレッドがこのQueueにオブジェクトを 追加すると、別のスレッドがQueue内の先程追加されたオブジェクトを削除しないと オブジェクトを追加したスレッドに制御が戻らない。とのこと。 言葉で説明しても、うまく伝わらないので、早速使ってみます。 その前に、まずはJava7のダウンロードから。ダウンロードはこちらから↓ https://jdk7.dev.java.net/ 早速、Eclipseの設定画面でJava7を指定してみたけど、コンパイラー準拠レベルには1.6までしか現れない・・・。まだ、正式リリース版だからでは無いからでしょうか?仕方ないので、基設定は1.6のままで勧めます。 Javaプロジェクトを作成して、ビルドパ

  • Java Sample マルチスレッドサンプル

    マルチスレッドサンプル マルチスレッドプログラミングのサンプルです。 通常プログラムは上から下へ順々に実行されていきます。 マルチスレッドプログラムでは複数の処理(スレッド)を同時に実行する事ができます。 サンプルを実行すると単純に0〜9までの出力が順に2回行われず、 00112233・・・ のように混ざって出力されます。 これは java.lang.Thread#start() メソッドを呼び出すと、このメソッドが終了する前に次の処理を行うからです。 つまり ts1.start() が実行されている最中に ts2.start() が呼び出されているのです。 これによって2つの処理(スレッド)が同時に実行される事になります。 実装方法はマルチスレッドで動かしたいクラスがRunnableインターフェースを実装し、run() メソッドを実装します。 呼び出す時は java.

  • ページが見つかりません | 日本HP

    ページが見つかりません。 目的のページは、移動または削除によって無効になっている可能性があります。申し訳ありませんが、検索またはリンク先よりお探しください。

  • 1