Keamanan Alur dalam Ekspresi Reguler

Kelas itu Regex sendiri adalah alur aman dan tidak dapat diubah (baca-saja). Artinya, objek Regex dapat dibuat pada alur apa pun dan dibagikan di antara alur; metode pencocokan dapat dipanggil dari alur apa pun dan tidak pernah mengubah status global apa pun.

Namun, objek hasil (Kecocokan danMatchCollection) yang dikembalikan oleh Regex harus digunakan pada satu alur. Meskipun banyak dari objek ini secara logis tidak dapat diubah, implementasinya dapat menunda komputasi beberapa hasil untuk meningkatkan performa, dan sebagai hasilnya, pemanggil harus menserialisasikan akses ke objek tersebut.

Jika ada kebutuhan untuk berbagi objek hasil Regex pada beberapa alur, objek ini dapat dikonversi ke instans aman alur dengan memanggil metode yang disinkronkan. Dengan pengecualian enumerator, semua kelas ekspresi reguler aman untuk alur atau dapat dikonversi menjadi objek aman alur dengan metode yang disinkronkan.

Enumerator adalah satu-satunya pengecualian. Aplikasi harus membuat serial panggilan ke enumerator koleksi. Aturannya adalah bahwa jika koleksi dapat dijumlahkan pada lebih dari satu utas secara bersamaan, Anda harus menyinkronkan metode enumerator pada objek akar koleksi yang dilalui oleh enumerator.

Lihat juga