Pythonガベージコレクターインターフェイス(gc)
自動ガベージコレクションは、Pythonの重要な機能の1つです。ガベージコレクタメカニズムは、プログラムで使用されなくなったオブジェクトが占有しているメモリを再利用しようとします。
Pythonは、ガベージコレクションに参照カウントメカニズムを使用します。 Pythonインタープリターは、オブジェクトが他のオブジェクトによって参照された回数をカウントします。オブジェクトへの参照が削除されると、オブジェクトのカウントがデクリメントされます。参照カウントがゼロになると、オブジェクトメモリが再利用されます。
通常、このメカニズムは自動的に実行されます。ただし、プログラムで特定の状況が発生した場合は、意図的に行うことができます。 'gc'モジュールは、ガベージコレクションインターフェイスを定義します。 'gc'モジュールで定義されている関数は次のとおりです
enable() | 自動ガベージコレクションを有効にします。 |
disable() | 自動ガベージコレクションを無効にします。 |
isenabled() | 自動収集が有効になっている場合はtrueを返します。 |
collect() | 引数なしで、完全なコレクションを実行します。オプションの整数引数は、収集する世代を指定します(0から2まで)。世代番号が無効な場合、ValueErrorが発生します。検出された到達不能オブジェクトの数が返されます。 |
set_threshold() | ガベージコレクションのしきい値(収集頻度)を設定します。 |
get_threshold() | 現在のコレクションのしきい値をタプルとして返します |
コールバック | ガベージコレクターによって収集の前後に呼び出されるコールバックのリスト。 |
-
Pythonの低レベルネットワークインターフェース(ソケット)
Pythonの標準ライブラリの「socket」モジュールは、サーバーとクライアントマシンがオペレーティングシステム上でソケットエンドポイントを使用して通信する方法を定義します。 socket APIには、コネクション型ネットワークプロトコルとコネクションレス型ネットワークプロトコルの両方の関数が含まれています。 ソケットは、双方向通信リンクのエンドポイントです。 IPアドレスとポート番号が特徴です。接続を開始するには、両端のソケットを適切に構成する必要があります。これにより、着信メッセージをリッスンし、クライアントサーバー環境で応答を送信できるようになります。 socketモジュールのso
-
ガベージコレクションの概要(パートI)
コードを実行するときはいつでも、メモリを使用します。 Rubyのような言語で書くと、利用できるメモリは無限にあるように見えます。コードを実行しているシステムにある固定量のメモリについて考えることなく、そのまま続けることができます。このRubyMagicのエピソードでは、これがどのように機能するかを説明します! ちょっとした歴史 当時、Rubyなどのスクリプト言語はまだ存在していませんでした。人々は、低水準プログラミング言語であるCなどの言語でのみコードを記述しました。これらの言語を低レベルにする理由の1つは、自分でクリーンアップする必要があることです。たとえば、Stringを格納するためにメ