Een Java programma dat maar een ding tegelijk doen heeft belangrijke beperkingen van de complexiteit van de taken die de programmeur kan vragen om te presteren . Zodat programma's om meerdere bewerkingen uit te voeren in een keer, kan Java-programmeurs nieuwe processen creëren door instantiëren threads . Ondanks hun nut en noodzaak in complexe applicaties , discussies zijn niet zonder beperkingen. Threads Java-programmeurs creëren draden uit een klasse die de " Runnable " interface implementeert . De vragen die handelen als programma's in programma's , omdat ze de methode, die zich gedraagt als de " public static void main ( ) " in de belangrijkste klasse van het programma " run ( ) " moet bevatten . De programmeur begint een draad door een nieuw exemplaar van het object , en vervolgens roepen de " run " -methode . Zodra draden begint te lopen , kunnen ze toegang krijgen tot variabelen en bellen methoden van andere objecten . Optreden Beperkingen Elke thread die een Java-programma creëert voegt een aanvulling last op de computer processor . Als een Java-programma paait meerdere processor intensieve discussies , dan is de machine waarop het programma werkt kan aanzienlijk vertragen . Dit vermindert de prestaties van het programma . Naast performance tuning , elke processor heeft een maximum aantal programma- threads waarvoor kan verwerkingstijd plannen . Dit aantal varieert van systeem tot systeem , en is verkrijgbaar in de documentatie . Variabele Fouten Wanneer een programma bestaat uit een enkele draad , de " public static void main ( ) " -methode , de gegevensintegriteit van het programma variabelen is geen probleem . Wanneer een programma heeft meerdere threads toegang en wijziging van dezelfde variabelen , kan een variabele worden veranderd door een andere thread . De verandering optreedt tussen het moment dat de andere thread toegang waarde van de variabele en de tijd wijzigt die variabele . Wanneer draden worden die functies op variabelen die afhankelijk zijn van de initiële waarde van de variabele zijn , kan dit leiden tot data corruptie . Sloten Om beschadigde gegevens , standaard bibliotheek Java's voorkomen onder meer voorwerpen genaamd " sloten . " Wanneer een thread toegang tot een variabele met de bedoeling van het wijzigen van het, kan de thread een lock methode die voorkomen zullen andere onderwerpen die de toegang tot de variabele totdat de huidige thread wordt gedaan met het noemen . Nadat de draad geeft zijn slot , kan de volgende thread de variabele vergrendelen . Hoewel dit voorkomt beschadiging van gegevens , het vertraagt de prestaties van applicaties .
|