From 8553ccea20e8c91a70374844a7a8ddc334bcfadf Mon Sep 17 00:00:00 2001 From: "SUMIDA, Ippei" Date: Sun, 9 Feb 2025 19:36:40 +0900 Subject: [PATCH 1/4] =?UTF-8?q?fiber=E3=81=AE=E7=BF=BB=E8=A8=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language/fibers.xml | 6 +++--- language/oop5/decon.xml | 16 +++++++++++++++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/language/fibers.xml b/language/fibers.xml index 8a6d1ec9694..c78298ffd98 100644 --- a/language/fibers.xml +++ b/language/fibers.xml @@ -1,6 +1,6 @@ - + ファイバー @@ -56,8 +56,8 @@ - 現状の制限により、 - ファイバーをオブジェクトのデストラクタ中で切り替えることはできません。 + PHP 8.4.0 より前では、 + ファイバーをオブジェクトの デストラクタ 中で切り替えることはできませんでした。 diff --git a/language/oop5/decon.xml b/language/oop5/decon.xml index 49a7b0124e6..d118520de95 100644 --- a/language/oop5/decon.xml +++ b/language/oop5/decon.xml @@ -1,6 +1,6 @@ - + @@ -377,6 +377,20 @@ $obj = new MyDestructableClass(); HTTP ヘッダはすでに送信されています。スクリプトのシャットダウン時の作業ディレクトリは、 SAPI によっては (たとえば Apache など) 異なります。 + + デストラクタが自身のオブジェクトへの新しい3章を作成した場合、参照カウントが再びゼロになったときや + シャットダウンシーケンス中に、再度呼び出されることはありません。 + + + PHP 8.4.0 以降、 サイクルコレクション が + ファイバーの実行中に発生した場合、 + 回収がスケジュールされたオブジェクトのデストラクタは、 gc_destructor_fiberと呼ばれる + 別のファイバー内で実行されます。 + このファイバーが中断された場合、残りのデストラクタを実行するために新しいファイバーが作成されます。 + 中断された gc_destructor_fiber はガベージコレクタによって参照されなくなり、 + 他の参照がなければ回収される可能性があります。 + デストラクタが中断されたオブジェクトは、デストラクタが復帰するかファイバー自体が回収されるまで回収されません。 + From 625ef13bd3e43f0b70aaa297ae50a3aaa956e2b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AD=A6=E7=94=B0=20=E6=86=B2=E5=A4=AA=E9=83=8E?= Date: Tue, 11 Feb 2025 16:09:19 +0900 Subject: [PATCH 2/4] =?UTF-8?q?=E8=A1=A8=E7=8F=BE=E3=82=92=E4=BB=96?= =?UTF-8?q?=E3=81=AE=E3=83=9A=E3=83=BC=E3=82=B8=E3=81=A8=E7=B5=B1=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language/fibers.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/language/fibers.xml b/language/fibers.xml index c78298ffd98..0d67853ae0e 100644 --- a/language/fibers.xml +++ b/language/fibers.xml @@ -56,7 +56,7 @@ - PHP 8.4.0 より前では、 + PHP 8.4.0 より前のバージョンでは ファイバーをオブジェクトの デストラクタ 中で切り替えることはできませんでした。 From 3e13bfe81ae6df3a4ea295c90ef2f7924e9da2b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AD=A6=E7=94=B0=20=E6=86=B2=E5=A4=AA=E9=83=8E?= Date: Tue, 11 Feb 2025 16:19:41 +0900 Subject: [PATCH 3/4] =?UTF-8?q?=E8=AA=A4=E5=AD=97=E3=81=AE=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language/oop5/decon.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/language/oop5/decon.xml b/language/oop5/decon.xml index d118520de95..ca1f6471ba2 100644 --- a/language/oop5/decon.xml +++ b/language/oop5/decon.xml @@ -378,7 +378,7 @@ $obj = new MyDestructableClass(); SAPI によっては (たとえば Apache など) 異なります。 - デストラクタが自身のオブジェクトへの新しい3章を作成した場合、参照カウントが再びゼロになったときや + デストラクタが自身のオブジェクトへの新しい参照を作成した場合、参照カウントが再びゼロになったときや シャットダウンシーケンス中に、再度呼び出されることはありません。 From e0c4d99b364eeb2b96f839c1fc4861e08df6cf37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AD=A6=E7=94=B0=20=E6=86=B2=E5=A4=AA=E9=83=8E?= Date: Tue, 11 Feb 2025 16:20:22 +0900 Subject: [PATCH 4/4] =?UTF-8?q?`cycle=20collection`=20=E3=81=AE=E8=A8=B3?= =?UTF-8?q?=E3=82=92=E4=BB=96=E3=81=AE=E3=83=9A=E3=83=BC=E3=82=B8=E3=81=A7?= =?UTF-8?q?=E3=81=AE=E5=90=8C=E7=AD=89=E3=81=AE=E8=A1=A8=E7=8F=BE=E3=81=AB?= =?UTF-8?q?=E7=B5=B1=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language/oop5/decon.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/language/oop5/decon.xml b/language/oop5/decon.xml index ca1f6471ba2..e3698f80cd9 100644 --- a/language/oop5/decon.xml +++ b/language/oop5/decon.xml @@ -382,7 +382,7 @@ $obj = new MyDestructableClass(); シャットダウンシーケンス中に、再度呼び出されることはありません。 - PHP 8.4.0 以降、 サイクルコレクション が + PHP 8.4.0 以降、 ガベージサイクルの収集 が ファイバーの実行中に発生した場合、 回収がスケジュールされたオブジェクトのデストラクタは、 gc_destructor_fiberと呼ばれる 別のファイバー内で実行されます。