タグ

スレッドに関するmasudaKのブックマーク (10)

  • IEICEジャーナル論文:スレッド単位で権限分離を行うWebサーバのアクセス制御アーキテクチャ

  • マルチスレッド/プロセスまとめ(Ruby編) - Qiita

    プログラムの実行単位 固有のメモリ空間を持つ(リソースを共有しない) マルチプロセスの場合、物理/仮想メモリ領域間のアドレス解決のオーバーヘッドが高い。 プロセスの実行単位 共通のメモリ空間を持つ(リソースを共有する) マルチスレッドの場合、物理/仮想メモリ領域間のアドレス解決は発生しない。 ユーザースレッド ユーザー空間(アプリケーションが利用するメモリ空間)を利用 1つのプロセスに複数のスレッドがあっても、1つのスレッドしか実行されない。 OSカーネルを介さないスレッド切り替えのため、スレッド切り替えに伴うオーバーヘッドが少ない。 仮想VM上で実行されるスレッドをグリーンスレッドと呼ぶ。 カーネルスレッド カーネル空間(カーネルが利用するメモリ空間)を利用 1つのプロセスに複数のスレッドがある場合、同時に複数(CPUコア数分)のスレッドを実行できる。 OSカーネルを介するスレッド切り替

    マルチスレッド/プロセスまとめ(Ruby編) - Qiita
  • Javaでトランザクショナルメモリを使う

    XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)tokuhy

    Javaでトランザクショナルメモリを使う
  • 非同期処理の基礎

    constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだGenya Murakami

    非同期処理の基礎
  • Commons DBCP

    Commons DBCP は、データベースのコネクション・プーリングを扱うライブラリです。 Tomcat で標準採用されています。 動作説明 動作を簡単に説明します。 クライアントから接続要求が発生した場合 … getConnection() 1. DBCPは、プール内に空き接続があるか確認 2. あればそれを返す。この時その接続は アクティブ となる 3. プール内に空き接続が無ければ、新たに接続を作って返す クライアントから切断要求が発生した場合 … conn.close() 1. 切断要求のあった接続をプール内に保管する。この時その接続は アイドル となる 2. もしプール内に maxIdle 以上の接続が溜まったら、それ以上にならないように接続を削除する 接続監視スレッド DBCPには接続監視スレッドというものが存在します。 これは一定時間毎にプール内のアイドル接続をチェックするも

  • プロセスとスレッドの違いとは? | Yakst

    「プロセスは実行中のプログラムを抽象化したものである」これは私が著書 "Linux Kernel Development" の中で使った比喩だ。バイナリイメージ、仮想メモリ、各種カーネルリソース、関連付けられたセキュリティコンテキストといったものだ。スレッドは、「プロセスの中の実行単位」で、仮想プロセッサやスタック、プログラムの状態だ。言い換えれば、プロセスは実行されるバイナリであり、スレッドはOSのプロセススケジューラがスケジューリングできる最小の実行単位であると言える。 プロセスは1つ以上のスレッドを持っている。シングルスレッドのプロセスでは、1つのプロセスは1つのスレッドしか持っていない。つまり、スレッドはプロセスであると言ってしまえる。実行されるのは何か1つのことだけだ。マルチスレッドのプロセスでは、プロセスは複数のスレッドを持っている。つまり、複数の何かが実行されている。 現代の

  • マルチスレッドの同期

    C言語やPerlのfork&execのように、プロセスを同時に実行したり、同期を取るために待ち合わせる処理を行ってみましょう。 Java言語では、マルチスレッド機能が言語に含まれるため、比較的きれいにプログラムできます。 Javaの場合、2スレッドの同期と、3スレッド以上の同期で、処理が異なります。 マルチスレッドプログラミングも参照してください。 2スレッドの同期 2つのスレッド間の同期は、joinメソッドを使って、より簡単に実現できます。 子スレッドを起動し並行処理を行い、親スレッドが子スレッドの終了を待って、次の処理を行うプログラムを作成してみます。 処理内容は、Hello World!を表示するだけですが、スレッド名も表示するようにしています。 各スレッドの処理の流れは、以下のようになります。 親スレッドは、joinメソッドで、子スレッドが終了するまで待ちます。 親スレッド 子スレ

  • Javaの道:スレッド(4.スレッドの同期)

    概要 例題として、配列priceに設定された課税前の価格を一つづつ抜き出し変数workAreaに代入し、workAreaに代入された価格に消費税を課税する処理を行います。課税前の価格を抜き出しworkAreaに代入する処理をpricePutメソッドにて、workAreaに代入された価格に課税する処理をpriceGetメソッドにて行います。 この処理を行う上でスレッドの実行順序を制御せずに実行した場合は、スレッドの実行順序はJavaの動作するシステムのスケジュール機能に依存するため、必ずしもpricePutメソッドとpriceGetメソッドが交互に実行されるとは限りません。その場合、実行結果は以下のようになる場合があります。 課税後価格は105.0円です。 課税後価格は210.0円です。 # pricePutで新しい価格が設定される前に 課税後価格は210.0円です。 # priceGetが

    Javaの道:スレッド(4.スレッドの同期)
  • Tomcatの最大使用可能スレッド数の見積 - 銀の鍵 (The Silver Key)

    我等が働き者、Tomcat。君は一体、どの程度まで多くのスレッドを作成してリクエストをさばく事が出来るんだい? まず最初にLinuxのスレッドライブラリについて軽く言及しておかねばなるまい。Linuxのスレッドライブラリには二種類ある。 まず、昨今のLinux(Kernel 2.6及びそれ以降)で用いられているNTPL(Native POSIX Thread Library)。これは1:1モデルのスレッドライブラリで、スレッドをプロセスとして実装してある。SolarisなどではいわゆるLWP(Light Weight Process)をしてスレッドを実装してあるのだけれども、Linuxではスレッドもプロセスも同じtask_struct構造体として扱い、COE(Context Of Execution、実行コンテキスト)をそれぞれ用に割り当てて用いているようだ。各プロセスは独立した仮想メモリ

  • Linuxではじめる快適スレッドライフ

    概要 pthreadはクソだというのをひしひしと実感している…わけではないけど、 Win32のスレッドと比べると微妙な感じが拭えないので、Linuxのスレッドを使えばもっとハッピーになれるよ、というような話。 pthreadがクソな理由 pthreadは Win32 のスレッドに比べていくつか微妙だと思われる点がある。まずはその点について書こう、と思ったのだけど、大体[ここ]に書いてあったので、列挙だけしておく。詳細はリンク先を読んでね! Win32スレッドがWaitFor(Single/Multiple)Object(s)で全部待てるのに対して、pthreadは mutex、cond、semjoin のどれか、しかも一つだけしか待てない Win32のオブジェクトはシグナル状態を保持し続けるのに対して、pthreadの条件変数は、シグナル待ちになっていない状態でcond_signalを受

  • 1