Når Java-programmerere gå utover grunnleggende læring prosjekter , og spesielt hvis de ønsker å begynne å jobbe med dataspill , de begynner å jobbe med multi -threaded programmer. Disse er program- konstruksjon der Programmet starter, flere deloppgaver , eller tråder , foregår samtidig til hverandre. Dette tillater at det etableres flere avanserte brukergrensesnitt enn en enkelttrådet program . Nødvendighet
Behovet for flere tråder kommer fra den grunnleggende utformingen av de fleste programmeringsspråk , inkludert Java. Et program beveger seg gjennom sin kode på en lineær måte , utfører hvert sett med instruksjoner som det kommer til den. Følgelig kan en enkel , single -threaded program ikke utfører to funksjoner samtidig . For eksempel kan et grunnleggende program ikke begge ta brukerundersøkelser og kjøre en tidtaker . Timeren ville pause før brukeren ferdig med å skrive i hans synspunkter , noe som medførte at timeren kunne fortsette .
Multitasking
En Java -programmet kan multitaske ved å tildele to oppgaver som må utføres samtidig til to forskjellige tråder . Mens i teknisk forstand trådene ikke blir utført perfekt parallelt , som hver tråd er planlagt for forskjellige CPU- tilgang ganger , er sluttresultatet for brukeren to oppgaver som for alle praktiske formål utføre samtidig. Men når flere tråder kjører at tilgang til og endre samme sett av variabler , må programmerer å bruke sluser , eller andre samtidighet metoder , for å sikre dataintegritet .
Tråd Class
med
Nye strenger blir utført med en " tråd " objekt . Programmereren skriver sub -oppgave den nye tråden vil være håndtering inn i en klasse som utvider grensesnitt " kjørbart . " Dette krever at klassen har en " public void run () "-metoden , som vil være utgangspunktet for den nye tråd. Å starte tråden , oppretter programmerer en ny forekomst av hans sub -oppgave klassen , deretter oppretter en ny tråd objekt med sub -oppgave eksempel som et argument . Til slutt , påkaller programmereren "start ( ) "-metoden av tråden klassen å begynne å kjøre tråden .
Daemon Thread
Daemon tråder er prosesser der det eneste formålet er å gi opplysninger til , eller utføre oppgaver for , andre kjører tråder . Fordi et program vil fortsette å kjøre så lenge det er en aktiv tråd, programmerere trenger å ta vare å sikre at alle tråder vikle seg opp etter den tid brukeren avslutter programmet . Daemon tråder gjør Java program design prosessen enklere . Når et program bare har daemon tråder kjører, lukker den. Fordi daemon tråder bare betjene andre tråder , hvis alle de andre trådene er borte er det en logisk konklusjon at programmet er ferdig . Java-programmerere slå en vanlig tråd i en daemon tråd ved å påberope seg " setDaemon " metode for tråden objektene de skaper med argumentet "true ".