るりまサーチ

最速Rubyリファレンスマニュアル検索!
5189件ヒット [1-100件を表示] (0.118秒)
トップページ > クエリ:r[x] > クエリ:Thread[x]

別のキーワード

  1. _builtin to_r
  2. open3 pipeline_r
  3. matrix elements_to_r
  4. fileutils rm_r
  5. fileutils cp_r

ライブラリ

モジュール

キーワード

検索結果

<< 1 2 3 ... > >>

Thread (44112.0)

スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Thread を使うことで並行プログラミングが可能になります。

...有して同時に実行される制御の流れです。
Thread
を使うことで並行プログラミングが可能になります。


=== 実装
ネイティブスレッドを用いて実装されていますが、
現在の実装では Ruby VM は Giant VM lock (GVL) を有しており、同...
...できるので、複数のスレッドを
同時に実行するような拡張ライブラリは作成可能です。

=== スケジューリング
R
uby のスレッドスケジューリングはネイティブスレッドのそれを利用しています。
よって詳細はプラットフォー...
...レッドで例外が発生し、そのスレッド内で rescue で捕捉されなかっ
た場合、通常はそのスレッドだけがなにも警告なしに終了されます。ただ
しその例外で終了するスレッドを Thread#join で待っている他の
スレッドがある場合...

static void rb_thread_wait_other_threads(void) (38300.0)

Thread#thread_variable_get(key) -> object | nil (36285.0)

引数 key で指定した名前のスレッドローカル変数を返します。

...意]: Thread#[] でセットしたローカル変数(Fiber ローカル変数)と
異なり、Fiber を切り替えても同じ変数を返す事に注意してください。

例:

Thread
.new {
Thread
.current.thread_variable_set("foo", "bar") # スレッドローカル
Thread
.current["f...
...oo"] = "bar" # Fiber ローカル

Fiber.new {
Fiber.yield [
Thread
.current.thread_variable_get("foo"), # スレッドローカル
Thread
.current["foo"], # Fiber ローカル
]
}.resume
}.join.value # => ['bar', nil]

...
...の例の "bar" は Thread#thread_variable_get により得られ
た値で、nil はThread#[] により得られた値です。

@see Thread#thread_variable_set, Thread#[]

@see https://magazine.rubyist.net/articles/0041/0041-200Special-note.html...

Thread#thread_variable_set(key, value) (36267.0)

引数 key で指定した名前のスレッドローカル変数に引数 value をセットしま す。

... Thread#[] でセットしたローカル変数(Fiber ローカル変数)と
異なり、セットした変数は Fiber を切り替えても共通で使える事に注意してく
ださい。

//emlist[例][ruby]{
thr = Thread.new do
Thread
.current.thread_variable_set(:cat, 'meow')
Thread
.cur...
...rent.thread_variable_set("dog", 'woof')
end
thr.join # => #<Thread:0x401b3f10 dead>
thr.thread_variables # => [:dog, :cat]
//}

@see Thread#thread_variable_get, Thread#[]...

Thread#thread_variable?(key) -> bool (36249.0)

引数 key で指定した名前のスレッドローカル変数が存在する場合に true、そ うでない場合に false を返します。

...true、そ
うでない場合に false を返します。

@param key 変数名を String か Symbol で指定します。

me = Thread.current
me.thread_variable_set(:oliver, "a")
me.thread_variable?(:oliver) # => true
me.thread_variable?(:stanley) # => false

[注意]: Thread#[]...
...でセットしたローカル変数(Fiber ローカル変数)が
対象ではない事に注意してください。

@see Thread#thread_variable_get, Thread#[]...

絞り込み条件を変える

Thread::MUTEX_FOR_THREAD_EXCLUSIVE -> Mutex (36217.0)

Thread.exclusive用のMutexオブジェクトです。

...
Thread
.exclusive用のMutexオブジェクトです。...
...
Thread
.exclusive用のMutexオブジェクトです。
(private constant です。)...

static VALUE rb_thread_raise(int argc, VALUE *argv, rb_thread_t th) (32400.0)

static VALUE rb_thread_start_0(VALUE (*fn)(), void *arg, rb_thread_t th_arg) (32400.0)

static VALUE rb_thread_yield(VALUE arg, rb_thread_t th) (32400.0)

<< 1 2 3 ... > >>