Re: Pre-main construction order in modules

Liste des GroupesRevenir à cl c++ 
Sujet : Re: Pre-main construction order in modules
De : egenagwemdimtapsar (at) *nospam* jbohm.dk (Jakob Bohm)
Groupes : comp.lang.c++
Date : 01. Apr 2025, 05:06:11
Autres entêtes
Organisation : Privat
Message-ID : <vsfonk$25iou$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13
User-Agent : Epyrus/2.1.3
On 2025-03-31 14:32, Bonita Montero wrote:
Am 31.03.2025 um 14:26 schrieb Paavo Helde:
 
An example of pre-C++11 thread-safe Meyer singleton:
>
std::map<std::string, std::string>& GetGlobalMap() {
>
     // No dynamic initialization, so this is safe:
     static std::map<std::string, std::string>* pGlobal = NULL;
>
     // No dynamic initialization, so this is safe as well:
     static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
>
     // Initialize the global static if not yet initialized.
     pthread_mutex_lock(&mutex);
     if (!pGlobal) {
         pGlobal = new std::map<std::string, std::string>();
     }
     pthread_mutex_unlock(&mutex);
     return *pGlobal;
}
 That's rather slow. Double-checked locking as implemented for
all static locals with current runtimes is much more efficient.
Artificial locking around ALL static locals as implemented by some
modern compilers is highly wasteful as in most code, the code
structure already ensures a single thread will be the first to
execute that initialization/construction, often one of the threads
in the compiler itself.
That locking by compilers seem to be the result of someone in the C++ ctte wanting to take over every OS feature that used to be out of
scope for system programming languages like C/C++ .  It also makes it
unnecessarily harder to use the system compiler to implement the lower
level code that exists at a more fundamental / portable level than
silly textbook examples .
   Enjoy
   Jakob
--
Jakob Bohm, MSc.Eng., I speak only for myself, not my company
This public discussion message is non-binding and may contain errors
All trademarks and other things belong to their owners, if any.

Date Sujet#  Auteur
30 Mar 25 * Pre-main construction order in modules67Muttley
30 Mar 25 +* Re: Pre-main construction order in modules2Richard Damon
30 Mar 25 i`- Re: Pre-main construction order in modules1Bonita Montero
30 Mar 25 `* Re: Pre-main construction order in modules64James Kuyper
30 Mar 25  `* Re: Pre-main construction order in modules63Muttley
30 Mar 25   +* Re: Pre-main construction order in modules30Muttley
30 Mar 25   i+* Re: Pre-main construction order in modules14Muttley
30 Mar 25   ii+- Re: Pre-main construction order in modules1Richard Damon
31 Mar 25   ii+- Re: Pre-main construction order in modules1Muttley
31 Mar 25   ii`* Re: Pre-main construction order in modules11Bonita Montero
31 Mar 25   ii +* Re: Pre-main construction order in modules9Paavo Helde
31 Mar 25   ii i`* Re: Pre-main construction order in modules8Bonita Montero
31 Mar 25   ii i +- Re: Pre-main construction order in modules1Richard Damon
31 Mar 25   ii i `* Re: Pre-main construction order in modules6Paavo Helde
31 Mar 25   ii i  `* Re: Pre-main construction order in modules5Bonita Montero
31 Mar 25   ii i   +- Re: Pre-main construction order in modules1Paavo Helde
1 Apr 25   ii i   `* Re: Pre-main construction order in modules3Jakob Bohm
1 Apr 25   ii i    +- Re: Pre-main construction order in modules1Bonita Montero
1 Apr 25   ii i    `- Re: Pre-main construction order in modules1Paavo Helde
31 Mar 25   ii `- Re: Pre-main construction order in modules1Richard Damon
30 Mar 25   i`* Re: Pre-main construction order in modules15Bonita Montero
30 Mar 25   i `* Re: Pre-main construction order in modules14Bonita Montero
30 Mar 25   i  `* Re: Pre-main construction order in modules13Bonita Montero
30 Mar 25   i   `* Re: Pre-main construction order in modules12Bonita Montero
30 Mar 25   i    +- Re: Pre-main construction order in modules1Richard Damon
30 Mar 25   i    `* Re: Pre-main construction order in modules10Bonita Montero
30 Mar 25   i     `* Re: Pre-main construction order in modules9Chris M. Thomasson
31 Mar 25   i      `* Re: Pre-main construction order in modules8Bonita Montero
1 Apr 25   i       `* Re: Pre-main construction order in modules7Chris M. Thomasson
1 Apr 25   i        `* Re: Pre-main construction order in modules6Bonita Montero
1 Apr 25   i         `* Re: Pre-main construction order in modules5Chris M. Thomasson
1 Apr 25   i          `* Re: Pre-main construction order in modules4Bonita Montero
1 Apr 25   i           `* Re: Pre-main construction order in modules3Fred. Zwarts
1 Apr 25   i            `* Re: Pre-main construction order in modules2Bonita Montero
1 Apr 25   i             `- Re: Pre-main construction order in modules1Bonita Montero
31 Mar 25   +* Re: Pre-main construction order in modules25Paavo Helde
31 Mar 25   i+* Re: Pre-main construction order in modules23Muttley
31 Mar 25   ii`* Re: Pre-main construction order in modules22Paavo Helde
31 Mar 25   ii `* Re: Pre-main construction order in modules21Muttley
31 Mar 25   ii  +- Re: Pre-main construction order in modules1Paavo Helde
1 Apr 25   ii  `* Re: Pre-main construction order in modules19James Kuyper
1 Apr 25   ii   `* Re: Pre-main construction order in modules18Muttley
1 Apr 25   ii    +* Re: Pre-main construction order in modules11Paavo Helde
1 Apr 25   ii    i+* Re: Pre-main construction order in modules6Muttley
1 Apr 25   ii    ii`* Re: Pre-main construction order in modules5Paavo Helde
1 Apr 25   ii    ii +- Re: Pre-main construction order in modules1Muttley
1 Apr 25   ii    ii `* Re: Pre-main construction order in modules3Michael S
1 Apr 25   ii    ii  +- Re: Pre-main construction order in modules1Muttley
1 Apr 25   ii    ii  `- Re: Pre-main construction order in modules1Muttley
1 Apr 25   ii    i`* Re: Pre-main construction order in modules4Michael S
1 Apr 25   ii    i +* Re: Pre-main construction order in modules2Paavo Helde
1 Apr 25   ii    i i`- Re: Pre-main construction order in modules1Muttley
1 Apr 25   ii    i `- Re: Pre-main construction order in modules1James Kuyper
1 Apr 25   ii    `* Re: Pre-main construction order in modules6James Kuyper
1 Apr 25   ii     +- Re: Pre-main construction order in modules1Chris M. Thomasson
1 Apr 25   ii     +* Re: Pre-main construction order in modules2Michael S
2 Apr 25   ii     i`- Re: Pre-main construction order in modules1James Kuyper
2 Apr 25   ii     +- Re: Pre-main construction order in modules1James Kuyper
2 Apr 25   ii     `- Re: Pre-main construction order in modules1Muttley
31 Mar 25   i`- Re: Pre-main construction order in modules1Bonita Montero
31 Mar 25   `* Re: Pre-main construction order in modules7James Kuyper
1 Apr 25    `* Re: Pre-main construction order in modules6Jakob Bohm
1 Apr 25     `* Re: Pre-main construction order in modules5James Kuyper
1 Apr 25      `* Re: Pre-main construction order in modules4Michael S
1 Apr 25       +- Re: Pre-main construction order in modules1Keith Thompson
1 Apr 25       +- Re: Pre-main construction order in modules1James Kuyper
2 Apr 25       `- Re: Pre-main construction order in modules1David Brown

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal