tablica wątków. dostep konkretnego watku do innej tablicy o tym samym indeksie co watek

0

Witam, pisz program wielowątkowy i mam pewien problem.

mam jakąś tam tablice powiedzmy int'ów

int[] tablica = new int[5];

oraz mam tablice wątków tyle samo wątków co poprzednia tablica int

Thread[] watek = new Thread[5];

i teraz co zrobić by funkcja obsługująca wątek miała dostęp do konkretnego elementu tablicy int?
np.

int[] tablica = new int[5]; // zakładamy ze znajdują się tam konkretne liczby
Thread[] watek = new Thread[5];
private void fun1(){
	for(int i = 0; i < 5; ++i){
	watek[i] = new Thread(obsluga_watku);
	watek[i].Start();
	}
}
private void obsluga_watku(){
	// mamy 5 wątków oraz 5 elementów w tablicy int.
	// i chce zeby np watek[1] odnosił się do tablica[1]
	// watek[2] do tablica[2], itd..

}

mam nadzieje, ze wraziłem się jasno :)

0

A co chcesz osiągnąć? Bo to wygląda jak próba uprawiania programowania strukturalnego.

0

pisze program sieciowy klient-serwer i muszę otworzyć klika połączeń. Każde połączenie w nowym wątku. sama komunikacja na każdym porcie rozsądnie (chyba) byłaby w osobnym wątku i obsługa w jednej funkcji.

TcpListener[] serwer = new TcpListener[5];
Thread[] watek = new Thread[5];
int aktywnych_polaczen = 0;
// gdzies tam otwieranie polaczenia;

watek[aktywnych_polaczen] = new watek(komunikacja);

private void komunikacja(){
	string wiadomosc;
	while((wiadomosc = czytanie[/*tutaj wlasnie potrzebuje index wątku który jest taki sam jak index tablicy serwer*/].ReadString()) != "###BYE###"){

}
}

Chyba, że jest jakieś ładniejsze rozwiązanie. Generalnie przydałby się tutaj jakiś konstruktor.. nie wiem..

0

A po co ta globalna tablica współdzielona między wątkami?

0

pisze w okienkowym C# Windows Forms Application...

0

Ja pytłem o to, po co Ci tablica, w której każdy wątek ma "swoją" komórkę... Co w ogóle chcesz w niej trzymać?
WinFormsy nie mają tu nic do rzeczy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1