Artikkelinnhold
Timertask
Timertask -objektet kan sees på som et funksjonsobjekt. Timertask -klassen må importeres (Java.util.* pakke). Syntaksen for instantiering, er:
beskyttet tidspertaske ()Det reserverte ordet, "beskyttet" betyr at det bare kan defineres (implementeres) ved underklasse (utvider). Følgende kodesegment definerer en timertask -klasse:
Klasse TT utvider timertaskTimertask -klassen er en abstrakt klasse, fordi den har den abstrakte metoden, Run () hvis syntaks er:
Offentlig abstrakt void Run ()Run () -metoden må implementeres i TT -klassen. Her er TT -klassen den brukbare timertask -klassen. Run () -metoden er hovedmetoden for timertask -klassen. Denne kjøremetoden er den effektive oppgaven. I dette tilfellet har TT Run () -metodeimplementeringen bare en uttalelse. Når TT -klassen brukes som et objektargument, i Timer -objektmetoden, utføres RUN () -metoden. Instantiering av denne TT -klassen er av uttrykket:
ny TT (Strobj);Så i hovedmetoden (), kodesegmentet,
TT T1 = Ny TT ("Oppgave 1.");vil trykke,
Oppgave 1.
Tre objekter som T1 vil bli opprettet nedenfor for tre forskjellige oppgaver for timerobjektet.
Timer
Timerklassen har fire overbelastede konstruktører, men bare en vil bli vurdert her. Timerklassen er i Java.util.* pakke. Syntaksen til timerklassekonstruksjonen er:
offentlig timer ()Dette betyr at timerklassen vil bli instantiert med en uttalelse som:
Timer t = ny timer ();Metoder for timerklassen
Det er 8 metoder i timerklassen. Bare fire blir vurdert i denne artikkelen. Tre blir vurdert i denne delen:
Planlegg (timersoppgave, lang forsinkelse)Denne metoden planlegger et timers objekt som skal kjøres etter en rekke millisekunder (forsinkelse). Full syntaks er:
Public Void Schedule (Timertask Task, Long Delay)Avbryt()
Denne metoden for tidtakeren avslutter tidtakeren, og kasserer eventuelle planlagte oppgaver. Full syntaks er:
public void Cancel ()Full syntaks er:
public int purge ()Denne metoden for tidtakeren fjerner alle kansellerte oppgaver fra tidtakers oppgavekø, og frigjør minne.
Utføre hver oppgave en gang
Ett timerobjekt kan utføre (kjøre) mer enn ett timers objekt. Run () -metoden for timertask -objektet som argument i tidsplanmetoden til timerobjektet, vil kjøres etter en forsinket tid (millisekunder). 1000ms = 1s. Følgende TT -klasse viser en god kode for hvordan du installerer TIMERTASK -objekter:
Importer Java.util.*;Objektene som er instantiert fra TT -klassen, har tilknyttede tall. I hovedmetoden () for denne klassen er det tre TT -objekter. Konstruktøren for hvert av disse objektene, er konstruktøren for denne klassen. Den første parameteren til konstruktørmetoden er en streng. Dette er strengen som Run () -metoden til objektet vil skrive ut. Den andre parameteren er tallet tilknyttet objektet. De tre instantierte objektene fra denne klassen har tilknyttet tall fra 1 til 3. Neste parameter er tidtakeren. Timerobjektet blir instantiert i hovedmetoden (). Det samme tidsobjektet vil utføre hvert av disse tre objektene, hver etter en planlagt varighet. Hvert objekt har en annen streng (første argument).
Det er det siste objektet som kjøres som vil stoppe tidtakeren. Timer Cancely -metoden brukes til dette. Det samme siste objektet vil rense timerobjektet. Det siste TT -objektet er assosiert med tallet, 3. Det er på grunn av alle disse at følgende kode er i kjøremetoden () i TT -klassen:
if (num == 3)Etter tidtakerobjektet har T blitt instantiert fra timerklassen, tre andre objekter blir instantiert fra TIMERTASK (TT) -klassen. Legg merke til de forskjellige argumentene til konstruktørene av disse tre objektene. Det første argumentet er strengen som skal vises, som kjennetegner objektet. Neste argument er det tilknyttede antallet. Det siste argumentet er timerobjektet, det samme for alle tre objektene.
Etter det i koden kjører det samme tidsobjektet T1 etter 1 sekund (1000 millisekunder). Det kjører T2 etter 2s. Det kjører T3 etter 3 -tallet. Å ha objektnavnet som det første argumentet for tidsplanmetoden for tidtakerobjekt er nok i denne situasjonen til å føre til at RUN () -metoden til hvert tidsobjekt skal utføre. Etter ett sekund er utgangen:
Oppgave 1.
Og etter 1 sekund igjen, er det,
Oppgave 2.
Og i fjerde sekund er det:
Oppgave 3.
Da på grunn av If-condition og dens “tim.Avbryt();" For det tredje objektet avsluttes timerobjektet og programmet slutter.
Utføre enhver oppgave mer enn en gang
En oppgave er et TIMTASK -arvelig (TT) objekt, hvis effektivitet er RUN () -metoden. Hvert TT -objekt kan lages for å kjøre (utføre) gjentatte ganger på ubestemt tid, til en tilstand er oppfylt. Timermetoden for dette er:
Public voidplan (timersoppgave, lang forsinkelse, lang periode)Så hver oppgave vil utføre første gang, etter lang forsinkelse. Etter en lang periode (tredje parameter) vil den utføre seg på nytt; Etter den samme lange perioden (varigheten) vil den utføre seg på nytt, gjenta, inntil en betingelse for timerobjektet er oppfylt. I den følgende koden gjentas de første og andre oppgavene (TIMERTASK -objekter) hver to ganger (tre forekomster). Den tredje oppgaven utføres etter normal forsinkelse, en gang. Den har timertilstanden som stopper tidtakeren (og ingen repetisjon).
public class theclassEtter ett sekund er utgangen,
Oppgave 1.
Og etter forsinkelsen på to sekunder, fra starten av, er utgangen,
Oppgave 2.
Etter et intervall på 2 sekunder fra den første oppgaven ble utført, er utgangen på grunn av den første oppgaven,
Oppgave 1.
og etter et intervall på 2 sekunder fra den andre oppgaven ble utført, er utgangen på grunn av den andre oppgaven,,
Oppgave 2.
Etter et intervall på 2 sekunder fra da den første oppgaven ble utført sist, er utgangen på grunn av den første oppgaven,
Oppgave 1.
og etter et intervall på 2 sekunder fra da den andre oppgaven sist ble utført, er utgangen på grunn av den andre oppgaven,,
Oppgave 2.
Etter en normal forsinkelse på 6 sekunder er utgangen på grunn av den tredje oppgaven, som har stopptilstanden,
Oppgave 3.
Konklusjon
Timerklassen fungerer med timertask -klassen. Timertask -klassen er en abstrakt klasse, og må derfor arves; og den eneste abstrakte metoden, kjør () må implementeres. Fra denne klassen (TT ovenfor) kan et hvilket som helst antall oppgaveobjekter bli instantiert. Når det gjelder timerklassen, bør ett objekt bli instantiert fra den. Det ene timerobjektet kan deretter brukes til å utføre de forskjellige tidsperiodeobjektene til forskjellige tider. Et av tidspertaskeobjektene skal stoppe tidtakerobjektet.
Chrys