Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 4 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Multithread - synchronizacia

Registrovaný: 13.10.09
Prihlásený: 06.02.14
Príspevky: 27
Témy: 3
Príspevok NapísalOffline : 15.03.2013 19:51

Zdravím,
snažím sa urobiť WPF aplikáciu, kde by sa výpočet (nie je to výpočet v pravom slova zmysle, ale pre zjednodušenie...) vykonával v druhom vlákne, nie v UI. Na GUI vypisujem aktuálnu hodnotu výpočtu po nejakom kroku (TextBox je nabindovaný na property do ktorej sa ukladá aktuálna hodnota). Ak je ten krok malý, tak mi to vypíše až konečnú hodnotu a počas výpočtu sa aplikácia javí ako zamrznutá. Neviete poradiť ako zosynchronizovať hlavné vlákno UI a vlákno kde je výpočet, aby sa hodnota aktualizovala po takom čase, aby to stihlo zobrazovať? Jedno riešenie by bolo cez Thread.Sleep(), ale ak by sa nastavil dosť veľký krok, tak Thread.Sleep() by už nebol potrebný a naopak by to spomaľoval.

Dalo by sa to nasimulovať nejako takto:
Kód:
Thread calcthread = new Thread(work.CalculateValue);
calcthread.Start();

A v triede Work metóda CalculateValue:
Kód:
for (int i = 0; i < count; i++)
{
   if(i%step == 0)
      X = i;
}

//property
public int X
{
    get { return _x; }
    set {
       _x = value;
       OnPropertyChanged("X");
    }
}


Offline

Skúsený užívateľ
Skúsený užívateľ
Multithread - synchronizacia

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 15.03.2013 20:03

Tu by som použil triedu BackgroundWorker a potom jeho metódu ReportProgress... Je to podľa mňa pre takéto spätné reportovanie volajúcemu threadu najjednoduchšie.
http://msdn.microsoft.com/en-us/library ... orker.aspx

Ak to chceš urobiť po svojom, tak sa obávam, že by si musel dať viac kódu. Z tohto čo si dal ťažko povedať, kde je problém.







_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
Multithread - synchronizacia

Registrovaný: 13.10.09
Prihlásený: 06.02.14
Príspevky: 27
Témy: 3
Príspevok Napísal autor témyOffline : 16.03.2013 11:58

Ďakujem za tip. Vyskúšal som to a je to o niečo jednoduchšie a mám nad tým väčšiu kontrolu.

BTW, dá sa nejako pozastaviť? Že by som mohol mať Start/Pause/Continue?


Offline

Skúsený užívateľ
Skúsený užívateľ
Multithread - synchronizacia

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 16.03.2013 12:07

Hej, pozri sa sem:
http://stackoverflow.com/questions/8359 ... und-worker
http://stackoverflow.com/questions/3028 ... ng-similar

Tých možností je viacero...







_________________
C#, PHP, ...
Odpovedať na tému [ Príspevkov: 4 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Synchronizacia

v Ostatné programy

2

386

17.04.2019 12:09

michalesku Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Synchronizacia

v Smartfóny a tablety

1

488

17.06.2012 12:45

erikoo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vertikalna synchronizacia

v Ovládače

0

1099

13.10.2008 19:42

Gifty Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Synchronizácia hudby

v Audio programy

0

410

07.12.2011 16:55

Qpkqkma Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Synchronizácia diskov

v Ostatné programy

17

1330

13.03.2020 18:24

tatko Tom Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Synchronizacia diskov

v Pevné disky a radiče

1

656

30.03.2008 14:58

OmeGa Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Synchronizacia obecne

v Ostatné

8

641

29.03.2015 12:05

Daron Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. synchronizacia titulkov

v Video programy

2

825

02.02.2009 20:23

ferri222 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Synchronizácia upozornení

v Smartfóny a tablety

3

355

22.05.2014 19:38

liqua1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Synchronizácia kontaktov nejde

v Smartfóny a tablety

1

264

30.05.2020 18:28

Semp Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. S4, synchronizacia kontaktov

v Smartfóny a tablety

1

413

22.12.2013 14:52

DwEjtSvK Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. synchronizacia casu win

v Operačné systémy Microsoft

7

563

27.10.2006 17:43

Shit Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Meizu - nejde synchronizácia

v Smartfóny a tablety

6

409

05.12.2018 11:53

liveman Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Synchronizácia 2 outlookov

v Ostatné programy

0

414

19.07.2010 10:55

aoccoa Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Synchronizacia 2 diskov

v Ostatné programy

1

856

21.10.2009 17:46

Ivuso Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. evernote s kalendarom synchronizacia

v Smartfóny a tablety

0

208

15.03.2013 19:04

MatrixXx Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra