タグ

マルチスレッドに関するorangehatのブックマーク (6)

  • スレッドセーフにするために考えること 〜基礎編〜 - かとじゅんの技術日誌

    ええっと、リクエストされたので、今回は並行処理ネタにいってみます。 並行処理といえば、このは必読書ですね。でも、書いてることは、かなりムズカシイデス(´・ω・`) Java並行処理プログラミング ―その「基盤」と「最新API」を究める― 作者: Brian Goetz,Joshua Bloch,Doug Lea出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/11/22メディア: 単行購入: 24人 クリック: 419回この商品を含むブログ (163件) を見る ということで、並行処理について、もうちょっと優しく分かりやすく解説できないか考えて書いてみます。 スレッドセーフにするには 今回は、プログラムをスレッドセーフにするためにどんなことを考えればよいか。そういうテーマです。 アンスレッドセーフなコードから このの最初の方に、"スレッドのリスク"という章で、スレッド

    スレッドセーフにするために考えること 〜基礎編〜 - かとじゅんの技術日誌
  • 取り立ては無いの?

    キャッシングは、お金を借りることですから、返済が遅れた場合にテレビドラマ等で見かける「早く金返せやっ!」という風に怒鳴るような取り立て行為があったら怖いですよね。 しかし、銀行系でのキャッシングや大手カ-ド会社・大手消費者金融なら、このような取り立てはほぼありません。これらの会社は、キャッシングの返済期日が過ぎた場合に、電話やメ-ルで「お支払期日が過ぎておりますので、、」的な事務連絡が入る程度です。 そして、ちゃんと「○月○日までに支払います」と答えれば、その約束が破られるまではほぼ連絡が入りません。 これは、貸金業法という法律で取り立て行為の規制という規定があり、更に、この規定を金融庁のガイドラインという形で具体的に「朝9時から夜の8時までに正当な理由なく取り立ての訪問や電話をしてはならない」・「電話の回数は1日3回まで」・「電話や訪問でも、暴力的な態度や言葉を使用してはならない」等が禁

  • Java言語規定 スレッド及びロック

    目次| 前| 次 17. スレッド及びロック これまでの記述の大半は,文又は式を,一度に一つ,つまり一つの スレッド(thread) で実行するJavaコードの振舞いだけに関係していたが,Java仮想計算機は,一度に多数のスレッドを実行することができる。 これらのスレッドは,共有主メモリに存在するJavaの値及びオブジェクトを操作するJavaコードを独立して実行する。 複数のスレッドは,複数のハードウェアプロセッサを搭載したり,一つのハードウェアプロセッサを時分割したり,又は複数のハードウェアプロセッサを時分割することによって,実現してもよい。 Javaは,スレッドの並行活動を 同期化する(synchronizing) 機構を提供することによって,並行的だが決定論的な振舞いを示すプログラムを支援する。 スレッドを同期化するために,Javaでは,モニタ(monitor) を使用する。 モニタ

    orangehat
    orangehat 2009/09/27
    ファイルロック
  • セマフォ - Wikipedia

    語源の腕木式信号機 セマフォ(英: semaphore)とは、計算機科学において、並行プログラミング環境での複数の実行単位(主にプロセス)が共有する資源にアクセスするのを制御する際の、単純だが便利な抽象化を提供する変数または抽象データ型である。 概要[編集] セマフォは、ある資源が何個使用可能かを示す記録と考えればわかりやすく、それにその資源を使用する際や解放する際にその記録を「安全に」(すなわち競合状態となることなく)書き換え、必要に応じて資源が使用可能になるまで待つ操作が結びついている。セマフォは競合状態を防ぐ便利なツールであるが、セマフォを使うことでプログラムにおける競合状態がなくなると保証するものではない。任意個の資源を扱うセマフォをカウンティングセマフォ、値が0と1に制限されている(ロック/アンロック、使用可能/使用不可の意味がある)セマフォをバイナリセマフォと呼ぶ。後者はミュー

    セマフォ - Wikipedia
  • ミューテックス - Wikipedia

    ミューテックス (英: mutex) とは、コンピュータプログラミングにおける技術用語。クリティカルセクションでアトミック性を確保するための排他制御や同期機構の一種である。「mutex」という語は「mutual exclusion」 (相互排他、排他制御) の省略形である。ここでは、狭義の排他制御について述べる。 概要[編集] セマフォをクリティカルセクションの排他制御に用いる時、セマフォでは(初期値が1でなければ)複数のタスクがクリティカルセクションに入ることを許可するのに対し、ミューテックスでは同時に一つのタスクのみがクリティカルセクションに入ることを許可する(ここで言うタスクとは、スレッドまたはプロセスを指す)。挙動はセマフォ変数の初期値を1にする事と等価。このようなタスク優先度とリンクしないミューテックスを、バイナリセマフォと呼ぶ場合もある。 狭義には、ミューテックスの場合にそれを

  • Deep Side of Java~Java 言語再入門 第4回 ~ スレッドの使い方

    スレッドって何? そもそもスレッドは、コルーチン(非同期に協同して動作するサブルーチン)を形式化して生まれたものである。UNIXでは往々にして複数のプロセスを生成して、それらを協同させて何かの処理をさせることがあるが、複数のプロセスを作ってしまうと、それらは独自のメモリ空間で動作するので、データ共有に別な仕掛けが必要となって協同作用の幅が狭まってしまう。そこで、「軽量プロセス」、プロセスと同じく独自のスケジューリングを持つが、それでも独自のプロセスとまでは言えないような、あるプロセスに従属した「軽いプロセス」によるプログラミングモデルが開発され、これを一般に「スレッド」を呼ぶ。 なぜこのようにスレッドが重視されているのか、という理由にはこの「スレッド・プログラミング・モデル」が柔軟にコルーチンを実現できることの他に、マルチプロセッサ環境で非常に効率的なパフォーマンスが実現できることがある。

  • 1