Als Java-programmeurs gaan dan elementaire leerprojecten , en vooral als ze willen gaan werken op de computer spelen, beginnen ze te werken met multi - threaded programma's . Dit zijn programma ontwerpen waarin de toepassing lanceert meerdere sub - taken , of draden , tegelijk werken aan elkaar . Dit maakt het creëren van meer geavanceerde gebruikersinterfaces dan enkele thread programma . Noodzaak De behoefte voor meerdere threads komt van de fundamentele ontwerp van de meeste programmeertalen , waaronder Java . Een programma gaat door de code in een lineair uitvoeren elke set instructies erop aankomt . Derhalve kan een eenvoudige , single- threaded programma niet twee functies tegelijk uitvoeren . Bijvoorbeeld , kan een basisprogramma niet allebei input van de gebruiker en uitvoeren van een timer . De timer zou pauzeren totdat de gebruiker klaar te typen in zijn inbreng , op welk punt de timer kon hervatten . Multitasking Een Java-programma kan multitasken door het toewijzen van twee taken die moeten worden uitgevoerd op hetzelfde moment twee verschillende draden . Terwijl het in technische zin de draden worden niet perfect uitgevoerd in parallel , zoals elke thread is gepland voor verschillende CPU toegangstijden , het eindresultaat voor de gebruiker is twee taken die voor alle doeleinden tegelijk uitvoeren . Echter , als er meerdere threads worden uitgevoerd die toegang en wijzigen van dezelfde set van variabelen , de programmeur nodig heeft om sloten of andere concurrency methoden te gebruiken , om de gegevensintegriteit te garanderen . Thread klasse < br > Nieuwe snaren zijn uitgevoerd met een " draad " object . De programmeur schrijft de deeltaak de nieuwe draad zal hanteren in een klasse die de interface uitstrekt " Runnable . " Dit vereist dat de klas hebben een " public void run ( ) " -methode , waarbij het uitgangspunt voor de nieuwe thread zal zijn . Om de draad te starten , de programmeur maakt een nieuwe instantie van zijn deeltaak klasse , maakt vervolgens een nieuwe thread object met de aanleg deeltaak als argument . Tot slot , de programmeur roept de " start ( ) " methode van de thread klasse te beginnen lopen de draad . Daemon Thread Daemon discussies zijn processen waarvan het enige doel is om informatie te verstrekken aan , of aan de taken , andere lopende discussies te voeren . Omdat een programma zal blijven draaien zolang er een actieve thread , programmeurs moeten zorgen om ervoor te zorgen dat alle discussies verpakken zich omhoog tegen de tijd dat de gebruiker het programma wordt afgesloten . Daemon threads maken het Java-programma ontwerpproces gemakkelijker . Wanneer een programma alleen heeft daemon threads draaien , het sluit . Omdat daemon threads alleen dienst andere threads , als alle andere threads zijn verdwenen is het een logische conclusie dat het programma is voltooid . Java-programmeurs draaien een gewone draad in een daemon draad met een beroep op de " setDaemon " methode van de draad objecten creëren ze met het argument " waar is. "
|