c ++ - Tråd sikkerhed og AfxMessageBox

Indlæg af Hanne Mølgaard Plasc

Problem



Er AfxMessageBox-funktionstrådet sikkert?


Jeg ser MFC-koden bag AfxMessageBox, som påberåber sig som AfxGetMainWnd () -> GetSafeHwnd () og CCmdTarget :: GetRoundingFrame \_ () -> GetSafeHwnd (), og jeg undrer mig over dens trådsikkerhed.


Hvis jeg har flere GUI-tråde, er det OK at påberåbe AfxMessageBox fra nogen af ​​dem?

Bedste reference


Ja det er trådsikkert. Fra MSDN: [1]



  Hvis AfxGetMainWnd kaldes fra programmets primære tråd, returneres det programmets hovedvindue i henhold til ovenstående regler. Hvis funktionen kaldes fra en sekundær tråd i applikationen, returnerer funktionen hovedvinduet i forbindelse med den tråd, der lavede opkaldet.