Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python辞書はスレッドセーフだと思いますか?


はい、Python辞書はスレッドセーフです。実際、Pythonのすべての組み込みはスレッドセーフです。これについて詳しくは、ドキュメントをご覧ください:https://docs.python.org/3/glossary.html#term-global-interpreter-lock


  1. ガベージコレクターはすべてのPythonオブジェクトを追跡できると思いますか?

    Pythonは、2つの手法を使用してガベージをクリーンアップします。 1つは参照カウントです。これはすべてのオブジェクトに影響しますが、相互に直接または間接的に参照するオブジェクトをクリーンアップすることはできません。そこで実際のガベージコレクターが登場します。Pythonにはgcモジュールがあり、認識しているオブジェクトの循環参照を検索します。参照サイクルの一部となる可能性のあるオブジェクトのみがサイクリックgcに参加します。したがって、たとえば、リストは機能しますが、文字列は機能しません。文字列は他のオブジェクトを参照しません。 すべてのPythonクラスとそのインスタンスは、サイクリッ

  2. なぜタプルはPythonで不変だと思いますか?

    次の理由により、タプルは不変です- 順序の維持-タプルは主にPythonで順序を示す方法として定義されています。たとえば、タプルのリストの形式でデータベースからデータを取得する場合、すべてのタプルは、フェッチしたフィールドの順序になります。 コピー効率-不変オブジェクトをコピーするのではなく、エイリアスを作成できます(変数を参照にバインドします) 比較効率-参照によるコピーを使用している場合、コンテンツではなく場所を比較することで2つの変数を比較できます インターン-不変の値のコピーを最大で1つ保存する必要があり、並行コードで不変オブジェクトへのアクセスを同期する必要は