[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

pl.comp.programming

Watki i klasa statyczna w C# (.NET | Mono

quaggaster

3/9/2007 9:24:00 AM

Witam,

chcialbym zadac pytanie dotyczace przetwarzania wielowatkowego i
korzystania z klasy statycznej w C#. Otóz sytuacja wyglada
nastepujaco: kilka watków wykonywanych jest wspólbieznie, a kazdy z
nich co jakis czas uruchamia ta sama metode klasy statycznej. Metoda
ta (statyczna) przyjmuje pewne argumenty i zwraca wynik w oparciu o
porównanie parametrów z jakims polem prywatnym tej klasy -- oto
przyklad:

private static List<String> list = null;
(...)
public static Boolean Level(String Level1, String Level2)
{
return (list.IndexOf(Level1.ToUpper()) >=
list.IndexOf(Level2.ToUpper()));
}

Oczywiscie mozna dokonac w takiej metodzie synchronizacji (np. poprzez
lock), ale moje pytanie brzmi, czy w takim wypadku TRZEBA to zrobic?
Sama metoda NIE modyfikuje stanu zadnych elementów klasy, wiec wydaje
sie, ze synchronizacja nie bedzie konieczna, ale czy na pewno?

Szukalem na ten temat informacji w sieci, ale nie moglem znalezc
jednoznacznej odpowiedzi. Wykonalem takze kilka testów, które
pokazuja, ze taka metoda w przetwarzaniu wielowatkowym dziala
poprawnie -- chcialbym jednak miec pewnosc, dlatego pytam. Moze ktos
juz rozwazal takie wykonanie.

Prosze o rade i z góry dziekuje!
Pozdrawiam,
Norbert

2 Answers

Wiktor Zychla

3/11/2007 1:33:00 PM

0

> lock), ale moje pytanie brzmi, czy w takim wypadku TRZEBA to zrobia?
> Sama metoda NIE modyfikuje stanu ?adnych elementów klasy, wiec wydaje
> sie, ?e synchronizacja nie bedzie konieczna, ale czy na pewno?

kto? te elementy na liste list wrzuca i pytanie "kto". odpowied? na to
pytanie da Ci odpowied? na pytanie "czy TRZEBA to robia".

Wiktor Zychla

quaggaster

3/11/2007 1:37:00 PM

0

On 11 Mar, 14:32, "Wiktor Zychla" <ieu...@nospam.com> wrote:
> > lock), ale moje pytanie brzmi, czy w takim wypadku TRZEBA to zrobic?
> > Sama metoda NIE modyfikuje stanu zadnych elementów klasy, wiec wydaje
> > sie, ze synchronizacja nie bedzie konieczna, ale czy na pewno?
> ktos te elementy na liste list wrzuca i pytanie "kto". odpowiedz na to
> pytanie da Ci odpowiedz na pytanie "czy TRZEBA to robic".
Elementy na liste sa wstawiane TYLKO w konstruktorze -- pozniej nie sa
juz zmieniane.
Dziekuje za odpowiedz!
Norbert