るりまサーチ (Ruby 2.4.0)

最速Rubyリファレンスマニュアル検索!
9件ヒット [1-9件を表示] (0.014秒)
トップページ > バージョン:2.4.0[x] > クエリ:GC[x] > 種類:クラス[x]

別のキーワード

  1. gc stat
  2. gc latest_gc_info
  3. _builtin latest_gc_info
  4. _builtin gc
  5. gc opts

ライブラリ

キーワード

検索結果

Net::IMAP::FlagCountError (18004.0)

サーバからのレスポンスに含まれるフラグが多すぎるときに発生する例外です。

サーバからのレスポンスに含まれるフラグが多すぎるときに発生する例外です。

この上限は Net::IMAP.max_flag_count= で設定します。

DRb::TimerIdConv (106.0)

オブジェクトと識別子を相互に変換するクラスです。 これによって識別子に変換されたオブジェクトは一定時間 GC から保護されます。

オブジェクトと識別子を相互に変換するクラスです。
これによって識別子に変換されたオブジェクトは一定時間
GC から保護されます。

DRb::DRbIdConv では to_id で識別子に
変換し、リモートに送られたオブジェクトは GC から保護されません。
ローカルプロセスからの参照がなくなったオブジェクトは、
リモートからの参照が生きていたとしても GC によって廃棄される
可能性があります。
このクラスを DRb::DRbIdConv の代わりに用いることで、
to_id でオブジェクトを識別子に変換してから
一定時間(DRb::TimerIdConv.new の timeout で指...

DRb::DRbIdConv (76.0)

オブジェクトと識別子を相互に変換するクラスです。

オブジェクトと識別子を相互に変換するクラスです。

リモートオブジェクトは、URIと識別子で区別されます。
リモートメソッド呼び出しは、リモートプロセスに識別子を
送り、それを受け取ったプロセスでオブジェクトに変換することで実現されます。

このクラスはdRubyでデフォルトとして使われる
のオブジェクト-識別子間の変換クラスです。
この変換には ObjectSpace の機構が使われます。特に
ObjectSpace.#_id2ref が使われています。
これはリモートオブジェクト
が有効なのはリモートプロセス内の対応オブジェクトが GC で回収されるまで
であることを意味します。一方 GC...

Symbol (76.0)

シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。

シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。

文字列の代わりに用いることもできますが、必ずしも文字列と同じ振る舞いをするわけではありません。
同じ内容のシンボルはかならず同一のオブジェクトです。

シンボルオブジェクトは以下のようなリテラルで得られます。

:symbol
:'symbol'
%s!symbol! # %記法

生成されたシンボルの一覧は Symbol.all_symbols で得られます。
一番目のリテラルでシンボルを表す場合、`:' の後に
は識別子、メソッド名(`!',`?',`=' などの接尾辞を含む)、変数名
(`$'...

ObjectSpace::WeakMap (52.0)

GC の対象になるオブジェクトへの weak reference を持つクラスです。主に WeakRef クラスの内部で使用されるため、weakref ライブラリ 経由で使用してください。

GC の対象になるオブジェクトへの weak reference を持つクラスです。主に
WeakRef クラスの内部で使用されるため、weakref ライブラリ
経由で使用してください。

絞り込み条件を変える

WeakRef::RefError (52.0)

GC されたオブジェクトを参照しようとしたときに発生する例外です。

GC されたオブジェクトを参照しようとしたときに発生する例外です。

WeakRef (40.0)

weak reference を実現するクラスです。

weak reference を実現するクラスです。

WeakRef オブジェクトは与えられたオブジェクトをポイントしますが、
ポイント先のオブジェクトは GC される可能性があります。
アクセスしようとしたときにオブジェクトが GC されていれば
WeakRef::RefError が発生します。

delegate も参照してください。

=== サンプルコード

require 'weakref'

foo = Object.new
ref = WeakRef.new(foo)
ref.some_method_of_foo

Rinda::TupleEntry (22.0)

タプルスペース内に含まれるタプルを管理するためのクラスです。 タプルの有効期限を管理し、タプルのキャンセル操作ができます。

タプルスペース内に含まれるタプルを管理するためのクラスです。
タプルの有効期限を管理し、タプルのキャンセル操作ができます。

Rinda::TupleSpace#write はこのオブジェクトを返し、
それを利用してタプルを明示的にキャンセルすることができます。

ただし、タプルスペースのあるプロセスがタプルを投入したプロセスと
異なる場合、これを受け取る側はリモートオブジェクトによって
このオブジェクトを参照します。そのためタプルスペースのプロセス側では
参照切れによるGCが発生し、TupleEntryオブジェクトが消滅してしまうかもしれません。
これを防ぐには何らかの仕掛けが必要でしょう。...

Thread (22.0)

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

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


=== 実装
ネイティブスレッドを用いて実装されていますが、
現在の実装では Ruby VM は Giant VM lock (GVL) を有しており、同時に実行される
ネイティブスレッドは常にひとつです。
ただし、IO 関連のブロックする可能性があるシステムコールを行う場合には
GVL を解放します。その場合にはスレッドは同時に実行され得ます。
また拡張ライブラリから GVL を操作できるので、複数のスレッドを
同時に実行するような拡...