Synchronizacia vlakien – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Synchronizacia vlakien – Java – Fórum – Programujte.comSynchronizacia vlakien – Java – Fórum – Programujte.com

 

sleepy0
Stálý člen
15. 3. 2012   #1
-
0
-

Dobry den,

potreboval by som poradit ohladom syncronizacie vlakien. 

class VideoPlayer implements Runnable {
	// premenne a nejaky kod

public void run() {
		player.pause();
		// podmienky pre spustenie (kliknutie na play)

		while (player.getState() != org.gstreamer.State.NULL) {
			synchronized (videoPlayerThread) {
				try {

					do {
						System.out.println("VP caka na notify()");
						videoPlayerThread.wait();
						System.out.println("Stav sa zmenil: " + changed);
					} while (!changed);
					changed = false;
				} catch (InterruptedException e) {
					player.setState(org.gstreamer.State.NULL);
					stopPlayer();
				}
			}
			if (player.getState() == org.gstreamer.State.PLAYING) {
				player.pause();
			} else {
				player.play();
			}
			System.out.println("Stav prehravaca: " + player.getState());

		}
	}

	public void playpause() {

		synchronized (videoPlayerThread) {
			changed = true;
			videoPlayerThread.notify();
		}
	}

// Dalsi blok nezauimaveho kodu ktory zabezpeci napr. aby sa video po prehrati prehralo znova
}

Metodu playpause() volam napr. stalcenim talcika. Dva krat za sebou sa mi dokaze zmenit stav, teda pause()->play()->pause(). Tam to vacsinou skonci a cela aplikacia zamrzne, ale neuziva ziadne systemove prostriedky.

Nahlásit jako SPAM
IP: 158.195.206.–
sleepy0
Stálý člen
15. 3. 2012   #2
-
0
-

Po mensom laborovani a odstraneni a odstraneni vlakna na zmenu stvu prehravaca som zistil, ze chyba zrejme nieje v synchronizacii vlakien, ale niekde v samotnom gstreameri. Ale ak by ste mali nejaku pripomienku ohladom synchronizacia, resp. pozastavenia vlakien, tak ma prosim upozaornite.

Nahlásit jako SPAM
IP: 158.195.206.–
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, 5 hostů

Podobná vlákna

Synchronizácia obecne — založil wjohnw

Max. počet vlákien — založil Tayson

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ý