/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
Bech_bb 500
kyllekylle 500
jdjespers.. 500
gibson 300
scootergr.. 300
molokyle 287
10  strarup 270
Spørgsmål om tråde
Fra : Joe


Dato : 02-06-10 16:41

Nu har jeg ikke så meget kendskab til tråde, processer osv., men jeg kunne
godt tænke mig svar på følgende:

Hvis man har en funktion void foo(int* pIn, int* pOut) som henter nogle
værdier ind via pointeren pIn og smider
resultatet ud til det array som pOut peger på, og man så kaster to tråde i
luften T1 og T2 som begge kalder foo,
går det så altid godt? foo() bruger ikke globale variable, men bruger kun
pIn til at hente værdier ind og en række
lokale variable i foo bruges til at udregne det resultat som smides tilbage
i det array pOut peger på.

Ser frem til nogen gode svar



 
 
Bertel Brander (02-06-2010)
Kommentar
Fra : Bertel Brander


Dato : 02-06-10 23:51

Joe skrev:
> Nu har jeg ikke så meget kendskab til tråde, processer osv., men jeg
> kunne godt tænke mig svar på følgende:
>
> Hvis man har en funktion void foo(int* pIn, int* pOut) som henter nogle
> værdier ind via pointeren pIn og smider
> resultatet ud til det array som pOut peger på, og man så kaster to tråde
> i luften T1 og T2 som begge kalder foo,
> går det så altid godt? foo() bruger ikke globale variable, men bruger
> kun pIn til at hente værdier ind og en række
> lokale variable i foo bruges til at udregne det resultat som smides
> tilbage i det array pOut peger på.

Det kommer jo helt an på hvad pIn og POut peger på. Hvis de for de
to tråde peger på forskellige ting, er der ingen problemer, men
hvis de peger på det samme, kan der være problemer, hvis foo for
de to tråde forsøger at skrive til det samme område på samme tid,
eller hvis den ene læser mens den anden skriver. De to tråde kan
normalt godt læse fra samme område uden at der opstår problemer.

Hvis pIn kun er input, vil det nok være en god ide at lave den const.

Du skal i øvrig også lige checke for static data i foo.

Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408857
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste