Rumah > pembangunan bahagian belakang > C++ > Adakah Benang Pelaksanaan Singleton Meyers Selamat dalam Piawaian C Berbeza?

Adakah Benang Pelaksanaan Singleton Meyers Selamat dalam Piawaian C Berbeza?

Patricia Arquette
Lepaskan: 2024-12-29 20:12:11
asal
944 orang telah melayarinya

Is Meyers' Singleton Implementation Thread-Safe in Different C   Standards?

Pelaksanaan Singleton Meyers: Keselamatan Benang dalam Piawaian C Berbeza

Pelaksanaan corak Singleton oleh Meyers dengan permulaan malas menimbulkan persoalan tentang urutannya keselamatan. Artikel ini mengkaji kelakuannya dalam piawaian C yang berbeza.

C 11 dan Kemudian

Dalam C 11 dan piawaian berikutnya, pelaksanaan Singleton Meyers adalah selamat untuk benang. Mengikut piawai (§6.7 [stmt.dcl] p4), pelaksanaan serentak pengisytiharan mesti menunggu untuk penyiapan permulaan.

C 03

Dalam C 03, Pelaksanaan Singleton Meyers tidak selamat untuk benang. Artikel Meyers mengenai "Penguncian Disemak Dua Kali" menyerlahkan isu ini. Beliau mencadangkan penguncian penuh di sekitar kaedah instantiating sebagai pendekatan mudah untuk memastikan keselamatan benang pada semua platform. Corak penguncian yang disemak dua kali mungkin terdedah kepada keadaan perlumbaan pada seni bina tertentu tanpa halangan memori strategik.

Penyusun Disokong

Permulaan dan Pemusnahan Dinamik dengan Concurrency (Magic Statik pada MSDN ) ialah ciri asas yang memastikan keselamatan benang dalam C 11. Penyusun berikut menyokongnya ciri:

  • Visual Studio: Disokong sejak Visual Studio 2015
  • GCC: Disokong sejak GCC 4.3

Atas ialah kandungan terperinci Adakah Benang Pelaksanaan Singleton Meyers Selamat dalam Piawaian C Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan