Forum » Programiranje » Visual c++ Prekinitev programa
Visual c++ Prekinitev programa
fogl ::
Zanima me kako prekiniti izvajanje nekega dela programa, recimo s klikom Na Start bi program nekaj računal, potem pa bi ga s klikom na Cancel prekinil?
lp, klemen
sid_dabster ::
Pri izvajanju npr. numericnih metod visje casovne zahtevnosti je ta algoritem dobro umakniti v cisto svoj thread, locen od GUI-a. Resitev zate bi bila najpreprosteje ta, da uporabis sistemski klic CreateThread (kot parameter med drugim sprejme tudi kazalec na funkcijo eksekucije, v kateri bi se tvoj algoritem odvijal). Nato algoritem v vsaki iteraciji cekira nek variable (recimo tipa bool), ki je npr. true, ce naj se algoritem nadaljuje, oz. false, ce naj se prekine. To bool spremenljivko pa nastavis na false v event handlerju, ki je obesen na npr. tipko Cancel.
Fallen beyond all grace deeper and deeper
The sound of her own blood dripping
Like sacred tears from a bleeding rose...( Embraced, Within)
The sound of her own blood dripping
Like sacred tears from a bleeding rose...( Embraced, Within)
BigWhale ::
Ja! Lahko pa nardis zadevo s semaforji! Sej zato pa so!
Ko zacnes racunat postavis semafor, potem ob vaki iteraciji preglejujes te semaforje....
... ;>
al pa ne kompliciras in naredis z bool spremenljivko, tako kot je bilo predlagano...
Ko zacnes racunat postavis semafor, potem ob vaki iteraciji preglejujes te semaforje....
... ;>
al pa ne kompliciras in naredis z bool spremenljivko, tako kot je bilo predlagano...
noraguta ::
BigWhale , semaforji se uporabljajo pri medprocesni komunikaciji za lockanju resoursov. Pri mednitni se uporablja nacin ki ga je opisal Gorezh.
Pust' ot pobyedy k pobyedye vyedyot!
BigWhale ::
Hm, le zakaj ima toliko thread knjiznjic funkcije za delo s semaforji?
Kaj drugega pa je semafor kot ena bool spremljivka zavita v en malo bolj sofisticiran api? :))
huh...
Kaj drugega pa je semafor kot ena bool spremljivka zavita v en malo bolj sofisticiran api? :))
huh...
noraguta ::
semafor je objekt v kernelu. bool spremenljivka je v tem primeru le globalna spremenljivka. in v danem primeru niti ni treba skrbeti za "ortodoksno konsistentno dostopanje do spremenljivke"(critical section),se pac zadeva ustavi kaksen round kasneje. ker ni potrebe po klicu kernela je zadeva precej hitrejsa.
nevem pa o katerih thread kniznicah govoris ce govorimo o thread modelu windowsow. glede na to da ge za visual c.
nevem pa o katerih thread kniznicah govoris ce govorimo o thread modelu windowsow. glede na to da ge za visual c.
Pust' ot pobyedy k pobyedye vyedyot!
Zgodovina sprememb…
- spremenilo: noraguta ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Najbolj plonkajo računalničarjiOddelek: Novice / Zasebnost | 8109 (6702) | DavidJ |
» | statistika črk v stringu C++Oddelek: Programiranje | 2076 (1812) | Tutankhamun |
» | [C] bitni operator (strani: 1 2 3 )Oddelek: Programiranje | 5540 (4373) | Thomas |
» | Niti (threads)Oddelek: Programiranje | 1877 (1545) | snow |
» | Desktop aplikacije večinoma niso multithreaded??? (strani: 1 2 )Oddelek: Programiranje | 4885 (4131) | Gundolf |