Pořadí prováděných metod – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Pořadí prováděných metod – Java – Fórum – Programujte.comPořadí prováděných metod – Java – Fórum – Programujte.com

 

Honza228
~ Anonymní uživatel
4 příspěvky
8. 6. 2017   #1
-
0
-

Ahoj mám metodu, která v sobě volá další 2 metody. Potřeboval bych zařídit, aby se nejprve provedla metoda 1 a až bude hotovo, tak teprve metoda 2. Nevíte někdo jak na to?

Vím, že to nějak souvisí s vlákny, ale sleep() u hlavního vlákna na to nefunguje, tak nevím...

Díky Honza

public void metoda(){

metoda1();
metoda2();

}
Nahlásit jako SPAM
IP: 185.112.167.–
MilanL+1
Grafoman
8. 6. 2017   #2
-
+1
-
Zajímavé
Kit +

#1 Honza228
no nevím co máš za problém, ale takto jak to máš by ty metody měli jít po sobě

ono z takhle holého kodu nelze odhadnout co bys tam jinak mohl mít za problém.

Nahlásit jako SPAM
IP: 185.112.167.–
Mutagen
~ Anonymní uživatel
549 příspěvků
9. 6. 2017   #3
-
0
-

#1 Honza228
Vždit se provedou po sobě. Pokud jde o to aby se spustilo na pozadí, tak spustit ve vlákně

Nahlásit jako SPAM
IP: 193.138.154.–
Honza228
~ Anonymní uživatel
4 příspěvky
9. 6. 2017   #4
-
0
-

#1 Honza228
Metoda1 zobrazuje ProgressIndicator a metoda2 provádí takové časově náročnější úkony (čte data z webu apod.)

Chtěl bych, aby se nejdříve zobrazil ten ProgressIndicator a potom se začala provádět metoda2.

V tom stavu, v jakém to je teď, se čeká, až doběhne ta metoda2 a ProgressIndicator se zobrazí, až když už je hotovo.

#1 Honza228

Nahlásit jako SPAM
IP: 185.112.167.–
gna
~ Anonymní uživatel
1891 příspěvků
9. 6. 2017   #5
-
0
-

#4 Honza228
Pokud ty metody voláš někde, kde to blokuje překreslování okna, tak se překreslí až potom. Zmínil jsi nějaké hlavní vlákno a netuším, co jsi čekal od sleepu, ale jestli toto běží v samostatném vlákně, tak něco děláš špatně. (A když sis myslel, že se ty metody nevolají postupně, tak nejspíš všechno.)

Nahlásit jako SPAM
IP: 213.211.51.–
Honza228
~ Anonymní uživatel
4 příspěvky
9. 6. 2017   #6
-
0
-

#5 gna
Co by mohlo blokovat překreslování okna?

Nahlásit jako SPAM
IP: 89.203.217.–
nosko
~ Anonymní uživatel
140 příspěvků
9. 6. 2017   #7
-
0
-

#6 Honza228
Blokovany main thread?

Nahlásit jako SPAM
IP: 78.98.182.–
MilanL+1
Grafoman
10. 6. 2017   #8
-
0
-

#4 Honza228
Též si myslím, že to bude problém překreslování, já dělám aplikačku v Delphi a třeba ve form create když provádím nějaké složitější inicializace a chci, aby zprávy o jednotlivých krocích byly ve status baru nebo měním vlastnosti komponent formuláře a  chci aby to hned bylo vidět, tak musím volat form.refresh nebo self.refresh

Nahlásit jako SPAM
IP: 185.112.167.–
Mutagen
~ Anonymní uživatel
549 příspěvků
10. 6. 2017   #9
-
0
-

#4 Honza228
Prostě tam kde provádíš zvyšování progressu si musíš vytvořit vlákno. 

Nahlásit jako SPAM
IP: 89.190.90.–
Kit+15
Guru
10. 6. 2017   #10
-
0
-

#4 Honza228
Máš v metoda2() uvnitř nějakého cyklu volání metody notify()?

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Honza228
~ Anonymní uživatel
4 příspěvky
10. 6. 2017   #11
-
0
-

#10 Kit
Ne, to tam není

Nahlásit jako SPAM
IP: 89.203.217.–
Kit+15
Guru
10. 6. 2017   #12
-
0
-

#11 Honza228
Metodou notify() vždy druhému vláknu řekneš, aby se rozběhlo a překreslilo obrazovku.

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 38 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý