[C#] Problem z wątkami i "widocznością"(?)

Witam Jako, że pracuje z C# od niedawna(albo nie umiem znaleźć rozwiązania na google ;)) to mam pewien problem związany z watkami. Staram się zrobić małą symulację lotniska i (przykładowo) mam dwa pasy startowe które są wątkami: [code] public class Airstrips { public SortedList FlyingAirplane = new SortedList(); public Plane airplane1, airplane2, airplane3; public void CreateAirPlanes() { airplane1 = new Plane("IC_001", 100, 0); airplane2 = new Plane("IC_002", 200, 0); airplane3 = new Plane("IC_003", 300, 0); FlyingAirplane.Add(100, "IC_001"); FlyingAirplane.Add(200, "IC_002"); FlyingAirplane.Add(300, "IC_003"); } } public class Airstrip: Airstrips { private static Mutex mut = new Mutex(); public int airstrip_status; public void PlaneOnAirstrip() { if (FlyingAirplane.IndexOfValue(airplane1.GetPlaneID()) == 0) airplane1.Land(); else if (FlyingAirplane.IndexOfValue(airplane2.GetPlaneID()) == 0) airplane2.Land(); else airplane3.Land(); FlyingAirplane.RemoveAt(0); } public void WaitForPlane() { while (int.Parse(FlyingAirplane.Count.ToString()) > 0 ) { if (airstrip_status == 0) { mut.WaitOne(); PlaneOnAirstrip(); airstrip_status = 1; mut.ReleaseMutex(); Thread.Sleep(3000); } else { airstrip_status = 0; Thread.Sleep(1000); } } } } [/code] Wątki się wykonują, ale zanim wystartują to wywołuję funkcję [u]CreateAirPlanes()[/u](tworzy ona samoloty i dodaje do listy) z klasy [u]Airstrips[/u]. I teraz problem: Lista i samoloty nie są "widoczne" w wątkach(są widoczne ale tylko w przypadku gdybym wywołał funkcję [u]CreateAirPlanes()[/u], np. na poczatku [u]WaitForPlane()[/u] ... no ale wtedy każdy wątek będzie miał swoją "pulę" samolotów, a o to nie chodzi) ... czy da się tą "widoczność" osiągnąć czy to jest ślepa ścieżka? Z góry dzięki za pomoc ;) PS. Zawartość klasy Plane nie jest raczej tutaj potrzebna, więc nie umieszczałem ;)

Odpowiedzi: 1

No i rozwiązałem problem(a przynajmniej na razie działa ;)). Skorzystałem z ostatniego fragmentu kodu na http://codeguru.pl/article-656.aspx ... jak skończę projekt to postaram się umieść rozwiązanie problemu ;)
wolfchen
Dodano
16.01.2008 16:48:38
wolfchen
Dodano:
15.01.2008 23:50:57
Komentarzy:
1
Strona 1 / 1