Kezdőoldal » Számítástechnika » Programozás » C# folyamat szálak és szinkron...

C# folyamat szálak és szinkronizálás?

Figyelt kérdés

Szóval :

- van egy MyThread classom aminek a belsejeben van egy MyForm

- van egy Organizer class az organizer feldolgozandó adatokat szolgáltat egy List<List<String>> bol


a fő programban:


Organizer organizer = new Organizer();

List<MyThread> myThreads = List<Mythread>();


for(int index=0;index<maxThreadNr;index++)

{myThreads.add(new MyThread(index, organizer));}


List<Thread> threads;


myThread.ForEach(myThread => threads.add(new Thread(new ThreadStart(myThread.Runable))));


threads.ForEach(thread => thread.Start());



eddig ok.

de a MyThread ben es azon belul a WinForm ban a FormLaod metodusban


használok egy currentData = organizer.getNextData();

az organizátor miden thread eseten ugyan az az organizátor a fő programból.


A lényeg, hogy az organizator ossza szét a munkákat a teljesítmény alapján. De kellene valahogy szinkronizáljam, hogy ne akadjon el mikor többen is meghíják egyszerre ugyan azt a metódust.


WinForm-ot muszáj használjak mert csak így lehet megoldani azt a feladatot ami meg kell oldjak, de nem irteraktiv a felület.


2015. aug. 5. 13:07
 1/1 anonim ***** válasza:

A WinFormot egy szál kezelje, a szálak pedig kérjék a munkákat az organizátor szinkronizált műveletének meghívásával. Ennél jobbat nem tudsz kézzel csinálni.

Használj ThreadPoolt

[link]

2015. aug. 5. 14:02
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!