Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Lock

Postades av 2002-12-16 11:15:25 - Peter Bladh, i forum visual studio.NET IDE, Tråden har 3 Kommentarer och lästs av 811 personer

Hej

Jag har problem med mina trådar, hashtables och lås (jobbar i compact framework):

Hashtables är ju inte threadsafe såvida man inte låser dem vid skrivning och iteration. Låt oss säga att jag har en hashtable som innehåller object av typen myclass. Om jag skall uppdatera innehållet i ett av dessa objecten måste hashtablen då låsas
ex

lock(myHashtable.SyncRoot)
{
myclass obj = (myclass)myHashtable["somekey"];
obj.prop = "test";
}

Jag förutsätter att man måste det, men där kommer mitt problem in: Mitt program hänger på lock(myHashtable.SyncRoot)

Tacksam för hjälp

/peterbladh


Svara

Sv: Lock

Postades av 2002-12-16 19:40:39 - Mattias Sjögren


>Hashtables är ju inte threadsafe såvida man inte låser dem vid skrivning och iteration.

... eller använder Hashtable.Synchronized för att få en synkad wrapper.


>Om jag skall uppdatera innehållet i ett av dessa objecten måste hashtablen då låsas

Nej


>obj.prop = "test";

Om det är prop egenskapen du vill ska vara trådsäker så borde du lägga synkroniseringskoden inne i prop { set {} } istället.


MS


Svara

Sv: Lock

Postades av 2002-12-17 14:16:41 - Peter Bladh

>... eller använder Hashtable.Synchronized för att få en synkad wrapper.

Är det någon fördel med detta alternativ? (Hashtable.Synchronized finns iof inte i CF, men jag är nyfiken ändå)


>>Om jag skall uppdatera innehållet i ett av dessa objecten måste hashtablen då låsas

>Nej

Varför? Läser en annan tråd borde det ju bli problem...?


>>obj.prop = "test";

>Om det är prop egenskapen du vill ska vara trådsäker så borde du lägga >synkroniseringskoden inne i prop { set {} } istället.

Men om propertyn är en sträng är den väl i sig trådsäker?


/peterbladh


Svara

Sv: Lock

Postades av 2002-12-22 03:30:41 - Mattias Sjögren

Tack för påminnelsen. :-)

>Är det någon fördel med detta alternativ?

Du slipper skriva synkroniseringskod själv.


>Varför? Läser en annan tråd borde det ju bli problem...?

Att modifiera ett objekt påverkar inte hashtabellen, som bara håller en lista med referenser till objekten. Det är bara om du ska ändra innehållet i tabellen (lägga till eller ta bort objekt) som den måste låsas.


>Men om propertyn är en sträng är den väl i sig trådsäker?

Nej


MS


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 614
27 953
271 709
554
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies