[ 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 | 3
NapísalOffline : 15.03.2013 19:51 | Multithread - synchronizacia

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 | 66
Bydlisko: Žilina
NapísalOffline : 15.03.2013 20:03 | Multithread - synchronizacia

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 | 3
Napísal autor témyOffline : 16.03.2013 11:58 | Multithread - synchronizacia

Ď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 | 66
Bydlisko: Žilina
NapísalOffline : 16.03.2013 12:07 | Multithread - synchronizacia

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, ...
 [ Príspevkov: 4 ] 


Multithread - synchronizacia



Podobné témy

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

Synchronizacia

v Smartfóny a tablety

1

514

17.06.2012 12:45

erikoo

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

Synchronizacia

v Ostatné programy

2

433

17.04.2019 12:09

michalesku

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

Synchronizácia diskov

v Ostatné programy

17

1601

13.03.2020 18:24

tatko Tom

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

Synchronizacia diskov

v Pevné disky a radiče

1

695

30.03.2008 14:58

OmeGa

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

Synchronizacia obecne

v Ostatné

8

693

29.03.2015 12:05

Daron

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

synchronizacia titulkov

v Video programy

2

866

02.02.2009 20:23

ferri222

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

Synchronizácia upozornení

v Smartfóny a tablety

3

390

22.05.2014 19:38

liqua1

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

Vertikalna synchronizacia

v Ovládače

0

1141

13.10.2008 19:42

Gifty

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

Synchronizácia hudby

v Audio programy

0

453

07.12.2011 16:55

Qpkqkma

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

Synchronizácia kontaktov nejde

v Smartfóny a tablety

1

324

30.05.2020 18:28

Semp

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

S4, synchronizacia kontaktov

v Smartfóny a tablety

1

454

22.12.2013 14:52

DwEjtSvK

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

Meizu - nejde synchronizácia

v Smartfóny a tablety

6

442

05.12.2018 11:53

liveman

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

synchronizacia casu win

v Operačné systémy Microsoft

7

597

27.10.2006 17:43

Shit

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

Synchronizácia 2 outlookov

v Ostatné programy

0

447

19.07.2010 10:55

aoccoa

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

Synchronizacia 2 diskov

v Ostatné programy

1

892

21.10.2009 17:46

Ivuso

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

Synchronizacia projektov vo FLASHi

v Ostatné

0

440

27.03.2009 10:33

cerno



© 2005 - 2024 PCforum, edited by JanoF