On 06-06-2010 17:49, Arne Vajhøj wrote:
> On 06-06-2010 16:32, Joe wrote:
>> Hvis man har to tråde A og B og A er igang med at frigøre hukommelse,
>> men afbrydes af B, kan man så være sikker på
>> at frigørelsen af hukommelse forløber som forventet, når A igen får
>> processortid?
>
> Nej og ja.
>
> Nej, fordi C standarden indeholder intet om tråde d.v.s.
> at der er ikke nogen garanti for at den er threadsafe, hvilket
> betyder at det er implementation specifik hvorvidt den er thread
> safe eller ej.
>
> Ja, fordi med stor sandsynlighed har din platform og compiler
> en implementation som er threadsafe - enten som default eller som
> option.
>
>> Hvis ikke, hvordan sikrer man sig så at det går godt?
>
> Principielt kunen du selv synkronisere, men sandsynligheden for
> at du render ind i en platform, som ikke tilbyder thread safe
> malloc/free men som tilbyder både tråde og synkronisering er
> meget lille.
http://stackoverflow.com/questions/855763/malloc-thread-safe
http://groups.google.com/group/comp.lang.c.moderated/browse_thread/thread/2431a99b9bdcef11/ea800579e40f7fa4
Er eksempler på at der er andre med den fortolkning.
Arne