File tree 2 files changed +18
-4
lines changed
2 files changed +18
-4
lines changed Original file line number Diff line number Diff line change 1
1
<?xml version =" 1.0" encoding =" utf-8" ?>
2
2
<!-- $Revision$ -->
3
- <!-- EN-Revision: 4985eb0aa7bb240fa3bf7c17f76e1609faef327e Maintainer: mumumu Status: ready -->
3
+ <!-- EN-Revision: 376d3f9c2ef7fcd64d8b8503d552013acefb8b5b Maintainer: mumumu Status: ready -->
4
4
<chapter xml : id =" language.fibers" xmlns =" http://docbook.org/ns/docbook" >
5
5
<title >ファイバー</title >
6
6
56
56
</para >
57
57
<note >
58
58
<simpara >
59
- 現状の制限により、
60
- ファイバーをオブジェクトのデストラクタ中で切り替えることはできません 。
59
+ PHP 8.4.0 より前のバージョンでは
60
+ ファイバーをオブジェクトの < link linkend = " language.oop5.decon.destructor " >デストラクタ</ link > 中で切り替えることはできませんでした 。
61
61
</simpara >
62
62
</note >
63
63
Original file line number Diff line number Diff line change 1
1
<?xml version =" 1.0" encoding =" utf-8" ?>
2
2
<!-- $Revision$ -->
3
- <!-- EN-Revision: 9f351a14a749721a74df1dc6ac9533cf796a652e Maintainer: hirokawa Status: ready -->
3
+ <!-- EN-Revision: 376d3f9c2ef7fcd64d8b8503d552013acefb8b5b Maintainer: hirokawa Status: ready -->
4
4
<!-- CREDITS: shimooka,mumumu -->
5
5
6
6
<sect1 xml : id =" language.oop5.decon" xmlns =" http://docbook.org/ns/docbook" >
@@ -377,6 +377,20 @@ $obj = new MyDestructableClass();
377
377
HTTP ヘッダはすでに送信されています。スクリプトのシャットダウン時の作業ディレクトリは、
378
378
SAPI によっては (たとえば Apache など) 異なります。
379
379
</para >
380
+ <para >
381
+ デストラクタが自身のオブジェクトへの新しい参照を作成した場合、参照カウントが再びゼロになったときや
382
+ シャットダウンシーケンス中に、再度呼び出されることはありません。
383
+ </para >
384
+ <para >
385
+ PHP 8.4.0 以降、 <link linkend =" features.gc.collecting-cycles" >ガベージサイクルの収集</link > が
386
+ <link linkend =" language.fibers" >ファイバー</link >の実行中に発生した場合、
387
+ 回収がスケジュールされたオブジェクトのデストラクタは、 <literal >gc_destructor_fiber</literal >と呼ばれる
388
+ 別のファイバー内で実行されます。
389
+ このファイバーが中断された場合、残りのデストラクタを実行するために新しいファイバーが作成されます。
390
+ 中断された <literal >gc_destructor_fiber</literal > はガベージコレクタによって参照されなくなり、
391
+ 他の参照がなければ回収される可能性があります。
392
+ デストラクタが中断されたオブジェクトは、デストラクタが復帰するかファイバー自体が回収されるまで回収されません。
393
+ </para >
380
394
</note >
381
395
<note >
382
396
<para >
You can’t perform that action at this time.
0 commit comments