タグ

TipsとThreadに関するt_43zのブックマーク (2)

  • Javaでスレッドを使う際の注意点 | 株式会社シンメトリック公式ブログ - 携帯開発から生まれる技術情報

    Javaでスレッドを使う際の注意点|株式会社シンメトリック公式ブログ - 携帯開発から生まれる技術情報| 携帯サイト開発から生まれる技術情報ブログ どんなプログラム言語でもそうなのですが、マルチスレッド下でプログラムを組むときは、シングルスレッドとは違うところに色々気を使わないといけません。 今回は、Javaマルチスレッドプログラムでは基的なことですが(自分だけかもしれませんが)よく忘れて、不可解な動作に首を傾げてしまうポイントについて説明していきます。 ヒープ領域にあるデータの更新タイミングをちゃんと把握する Javaプログラムからアクセスできるメモリ領域には、大きくわけて、スタック領域(以下スタック)とヒープ領域(以下ヒープ)の2種類が存在します。 スタックは、ローカル変数や、メソッドの引数・戻り値情報を持ち、ヒープは newされたオブジェクトや、ロードされたclass情

  • Java標準同期化オブジェクトの活用で手軽にマルチスレッド対応 | 株式会社シンメトリック公式ブログ - 携帯開発から生まれる技術情報

    Java標準同期化オブジェクトの活用で手軽にマルチスレッド対応|株式会社シンメトリック公式ブログ - 携帯開発から生まれる技術情報| 携帯サイト開発から生まれる技術情報ブログ 前回は、DateFormatクラスがマルチスレッド問題によってバグを引き起こす例を紹介した。マルチスレッドによる問題に対処するには、スレッドごとにインスタンスを作成するか、synchronizedブロックによる同期化を行う。でも「正しい同期化」を行うには十分な知識とコードの把握が不可欠・・・。 そんな時に重宝するのが、Java標準で用意されている同期化オブジェクト。どんなケースにも対応できるわけではないけど、お手軽かつ必要十分な機能を備えている。これを使わない手はない。 第3の同期化方法 前回は同期化の方法として、以下2通りの方法を紹介した。 [方法A]スレッドごとにクラスのインスタンスを生成 [方法B]クラス

  • 1