Avatar billede r.hegaard Nybegynder
11. juli 2006 - 21:04 Der er 5 kommentarer og
2 løsninger

Synkronisering m.m. i C#

Jeg er lidt i tvivl om, hvordan synkronisering m.m. mellem tråde skal laves i .NET/C#, for at fungere rigtigt.

Hvis man f.eks. laver en lock på et object, forhindrer det så andre tråde i at bruge objektet og ventes der, hvis objektet er i brug eller skal den anden tråd også lave en lock på objektet for at der blokeres eller ventes??

Jeg er klar over, at man generelt ikke må lave Cross-thread calls på GUI-komponenter, da det giver en Cross-thread exception. Men det er ikke alt som giver en fejl Cross-thread exception. F.eks. ser det ikke ud til, at det giver fejl, hvis jeg læser teksten fra en label, men det giver fejl, hvis ændrer teksten på en label. Hvad er tilladt af forskellige kald? Findes der nogle gode sider, hvor det er beskrevet?

Kan I henvise til anden detaljeret beskrivelse på nettet af, hvordan man bedst håndterer synkronisering af Cross-thread calls i C#?
Avatar billede arne_v Ekspert
11. juli 2006 - 21:10 #1
lock er 100% coorperativ locking d.v.s. de 2 traade som skal synkroniseres skal
lock'e paa samme objekt

og objektet selv paavirkes ikke
Avatar billede arne_v Ekspert
11. juli 2006 - 21:16 #2
hvordan skriver man gode multithreaded applikationer ?

hmmm

der er skrevet tykke boeger om det emne

og hvis du bruger faerdige libs saa er du helt afhaengig af om programmoererne
har skrevet noget om multithreading i dokumentationen
Avatar billede r.hegaard Nybegynder
11. juli 2006 - 21:38 #3
arne_v > OK, det kan godt være, at det var et lidt for åbent spørgsmål.
Kan du svare på spørgsmålet mht. GUI-komponenter?
Avatar billede arne_v Ekspert
11. juli 2006 - 21:44 #4
jeg er ikke nogen oern til GUI programmering

men jeg vil tro at logikken er at read kun kan returnere lidt forkerte oplysninger til
den traad som ikke foelger spille reglerne mens write vil kunne korrumpere data
for alle traade og ast det derfor kun er noedvendigt at checke write adgang
Avatar billede arne_v Ekspert
13. august 2006 - 22:46 #5
OK ?
Avatar billede r.hegaard Nybegynder
14. august 2006 - 17:30 #6
Jo, det er vist ved at være tid til at lukke.
Jeg fik ikke nogen grundig forklaring om GUI.
Avatar billede r.hegaard Nybegynder
14. august 2006 - 17:30 #7
Tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester