それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

2010-11-24から1日間の記事一覧

rubyでやってみた。『増補改訂版Java言語で学ぶデザインパターン入門マルチスレッド編』まとめ

『増補改訂版Java言語で学ぶデザインパターン入門マルチスレッド編』を読んだ。 Javaマルチスレッドはすごいと。Java見直した。がrubyもしゅごい Single Threaded Execution - この橋を渡れるのは、たった一人 Immutable - 壊したくとも、壊せない Guarded S…

Rubyでマルチスレッド 14 #ActiveObject

Rubyで結城浩せんせいのJavaマルチスレッド本 その14 # activeobject rubyで書いた。 長いので折りたたみ #!/usr/bin/env ruby module ActiveObject require "thread" class MethodRequest def initialize( servant,future ) @servant = servant @future =…

Rubyでマルチスレッド 13 #thread specific Storage

Rubyで結城浩せんせいのJavaマルチスレッド本 その13 # thread specific storage スレッド毎の領域 スレッド毎に排他的なストレージ領域。スレッドはそれを使ってるのを知らない。 rubyで実装 Logを書くだけのモノ #!/usr/bin/env ruby # ThreadSpecific S…

Rubyでマルチスレッド 12 #two-phase termination

Rubyで結城浩せんせいのJavaマルチスレッド本 その12 #Two-Phase termination 仕事中のスレッドを止める スレッドに例外を通知する。 フラグ waitしてるかも 例外 どこでキャッチしてるか分からない 2段階の終了 終了リクエスト受付 安全性を考慮して終…

Rubyでマルチスレッド 11 #Future

Rubyで結城浩せんせいのJavaマルチスレッド本 その11 Future 引換券 番号札を持ってお席でお待ちください 重要なのは、「席でお待ちください」ってことで。席で待ってたら届くと言うこと。必要になれば取りに行って待つことも出来るが。。。(balking/guard…

Rubyでマルチスレッド 10 # Worker-Thread

Rubyで結城浩せんせいのJavaマルチスレッド本 その10 Worker-thread worker-thread thread-pool- Background-thread とも呼ばれる woker の役割 仕事が届いたら仕事する。 仕事がなければ、仕事が来るまでまつ。 細かい制御をしてチューニングして使う。 W…

Rubyでマルチスレッド その8 # Thread per Message

Rubyで結城浩せんせいのJavaマルチスレッド本 その9 thread per message Thread per Message メインスレッドがTask毎に別スレッドを作って投げる。スレッドを作っては捨てる。スレッドは再利用されない。 Rubyで書いてみた。 Javaと違って匿名クラスの替わ…

Rubyでマルチスレッド その8 # Read-Write Lock

Rubyで結城浩せんせいのJavaマルチスレッド本 8 # Read-Write Lock 読込中は書かない。 ログファイルのFlushとか、MySQLだとSELECT for UPDATE ってところか。 rubyで書いてみた #!/usr/bin/env ruby require 'thread' # Read Write Lock class ReadWriteLo…

Rubyでマルチスレッド その7# Producer-and-Consumer

Rubyで結城浩せんせいのJavaマルチスレッド本 7# Producer-and-Consumer Producer-and-Consumer 回転寿司だと思えば楽。作る人、食べる人、カウンターテーブル。が別々に仕事をする。 作るひとはどんどん作り 食べる人がどんどん食べる。 テーブルにお寿司…

Rubyでマルチスレッド その6 # Balking

Rubyで結城浩せんせいのJavaマルチスレッド本をやってみる試み、その5 Balking Balkinは待たずに、他の仕事を片付けます。一方でGuarded SuspensionはWaitセットで待つ。Balking は先に進みます。 Guarded Suspensionのこんなところが嫌なので、Balkingパタ…

Rubyでマルチスレッド その5 # Guarded Suspension

Rubyで結城浩せんせいのJavaマルチスレッド本をやってみる試み、その5 Guarded Suspension Guarded Suspensionはガード条件が満たされるまで while (your_trun?) { wait() } で まつ。 2本スレッドで、キューを使う クライアント:リクエストをキューに置…