Avatar billede mulemule Nybegynder
29. september 2005 - 12:32 Der er 5 kommentarer og
1 løsning

Tjekke om der er 'lock' på et object

Hvis man f.eks. et sted i koden skriver.

lock (obj)

Kan man så et andet sted i ens kode chekke, om der er en lock på obj ?

(
Jeg ønsker at lave noget kode, hvor der arbejdes med et obj i en lock. Samtidig skal der køre en tråd der ryder op i objCollection, hvis der er lock på obj skal den blot springe dette obj over, hvis der ikke er lock skal den locke og rydde op
)

Mvh
Avatar billede mazzoo Nybegynder
29. september 2005 - 12:35 #1
Du laver en global bool som du sætter til true i starten af locken, og false i enden af locken.

private bool m_Locked;

....

lock( m_LockObject )
{
m_Locked = true;

// Do Stuff

m_Locked = false;
}
Avatar billede mazzoo Nybegynder
29. september 2005 - 13:07 #2
et svar
Avatar billede arne_v Ekspert
29. september 2005 - 19:06 #3
jeg tror måske at det er Monitor.TryEnter du leder efter
Avatar billede cjensen Nybegynder
29. september 2005 - 20:27 #4
Den med Monitor.TryEnter (og et lavt timeout) bakker jeg op om.
Det andet er ikke 100% skudsikkert (for om du locker og bliver blokeret fordi en anden tråd har m_LockObject)
Avatar billede mulemule Nybegynder
04. oktober 2005 - 10:49 #5
Sådan er jeg ikke sikker på du kan tænke mazzzo. Du kunne gøre sådan hvis det f.eks. var javascript. På den anden side kunne man sikkert godt løse det på en sådan måde, hvis man virkelig lagde hjernen i blød, men jeg er bare ude efter noget automatisk, let indbygget noget, som jeg bare ved virker 100 % af tiden.

Jeg kigger på det senere, og vender tilbage - Tak indtil videre.
Avatar billede arne_v Ekspert
04. november 2005 - 19:56 #6
OK ?
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