Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Software >> Utility Software >> Content
Hoe maak je een Cyclische Executive in Java code
Een cyclische executive biedt een alternatief voor het schrijven van een volledige , real - time besturingssysteem . Het bestaat uit een eindeloze lus die verzamelingen acties bevat . Elke set wordt voorafgegaan door een wachttijd die regelt wanneer de set is om zijn acties uit te voeren . De volgende code geeft een voorbeeld : while (true ) { //wacht 3 secondswait ( 3000 ) ;//ontvangen een netwerk bericht ....... //wacht 2 seconden voor volledige opvang van de messagewait ( 2000 ) ;//scannen van de inhoud van het bericht ....... } Deze actie sets kunnen vaak lopen gelijktijdig met een zekere mate van synchronisatie . Op Java , draden zijn een mechanisme voor het uitvoeren van gelijktijdige taken met pauzes om te helpen bij de synchronisatie . Instructies
Identificeer Taken
1

Kies een ontwerp patroon dat zich het dichtst bij het ​​gedrag eisen van de toepassing die moet worden gebouwd als een cyclisch executive . Zorg ervoor dat het ontwerp patroon dekt de inhoud van de lus die samen de cyclische executive .

Pair 2 het gedrag van het ontwerp patroon met de applicatie-eisen . Zorg ervoor dat elk van de gesynchroniseerde , samenwerkende processen wordt geassocieerd met elk van de in de aanvraag beschreven gedrag .
3

Identificeer de Java - specifieke details die deel uitmaken van elk van het proces Thread klassen van de applicatie . Zorg ervoor dat het opzetten van een synchronisatie- pauze voor elk proces klasse Thread om de juiste timing te verzekeren tussen processen en voorkomen dat abnormale omstandigheden, zoals racen . Maak support klassen om als buffers gegevensuitwisseling tussen processen , zoals wachtrijen , zoals nodig . Maak een log stroom klasse logs opsporen van de uitvoering van elk proces thread definiëren .
Organiseer het pakket
4

Bouw een cyclische executive belangrijkste klasse die het proces Thread klassen instantieert , speciale ondersteuning klassen en alle andere benodigde initialisatie , zoals de volgende :

class CyclicExec
{public static void main ( String [ ] args ) { //initialiseren benodigde middelen .......... ........................... //define a thread log classLogStream ls = new LogStream ( ) ; ......... ............................ //initialiseren support klassen ................. .................... MsgQueue sq = new MsgQueue ( .... ) ; .................. ................... //initialiseren proces thread klassen ......................... ............ //instantiëren het Process_1 proces en definieer de bijbehorende threadProcess_1 p1 = new Process_1 ( ...... ) ; T_Process_1 = new thread ( p1 ) ;//activeren van de draad voor Process_1try { T_Process_1.start ( ) ;} catch ( IllegalThreadStateException e ) { //log een slechte thread start en uitgang .......................... ........... } } }
5

In het pakket elk van het proces Thread klassen , zoals in het volgende voorbeeld :

klasse Process_1
breidt thread { //initializationpublic Process_1 ( .... ) { //opzetten van een logboek voor deze thread ( P_S is voorgedefinieerde log streamobject ) PrintStream p1_s = p_s.make_it ( Processs_1_Log_File ) ;//initialiseer het proces thread .. ................................... } .............. ....................... //uitvoeren - ingegeven door de impliciete start ( ) -methode in de belangrijkste classpublic leegte run ( ) { //kern loopwhile ( true) { //kernproces ..................................... //pauze na het uitvoeren van een cyclus van de kern processtry { slaap ( Process_1_Wait ) ;} catch ( InterruptedException e ) { //log a uitzondering pauze .......................... ............. } } } }
6

Bouw de steun klassen die messaging buffers tussen proces discussies met zijn buffer toegang methoden definiëren gekwalificeerd als gesynchroniseerd , zoals de volgende voorbeeld:

openbare
gesynchroniseerd byte Pushit ( byte ITM) { ................................ ............................. }
7

Bouw een speciale klasse die de logbestanden tracing definieert het gedrag van het proces Thread klassen , zoals :

class LogStream
{ private boolean LogState ;//klasse initializerpublic LogStream ( String LogStateIn ) { this.LogState = false; if ( LogStateIn.equals ( " ja " ) ) this.LogState = true; } //maak een log stream naar een filepublic PrintStream make_it ( String LogLocation ) { PrintStream this1 ; String This2 if ( this.LogState ) { This2 = new String ( LogLocation ) ; } else { This2 = new String ( " /dev /null " ) ; } try { this1 = new PrintStream (nieuw FileOutputStream ( This2 , true ) ) ; } catch ( Exception e ) { this1 = null; } return this1 ; } }

Test and Deliver
8

Definieer een opeenvolging van testscenario's voor zowel extreme en normale bedrijfsomstandigheden te dekken om de synchronisatie tussen de draden proces te verfijnen .

beoordeling 9 het proces thread logs om ervoor te zorgen dat het proces thread klassen werken zoals verwacht . Zorg ervoor dat er geen race- of soortgelijke omstandigheden voorgedaan .
10

Bereid de application delivery pakket door het opnemen van de ( uitvoerbare ) bestanden klasse voor elk van de draden proces , de belangrijkste klasse , messaging ondersteuning klassen en log stroom klasse . Onder meer scripts die lossen en het opzetten van de class-bestanden , evenals initialiseren de directory waar proces thread logbestanden moeten worden gevestigd .

Previous: Next:
  Utility Software
·Printen met DOSBox 
·Hoe de Windows Calculator Star…
·Hoe kan ik Windows Snelheid ve…
·Instructies voor het omzetten …
·Hoe een ISO schrijven naar een…
·Receipt Scanning Software 
·Hoe kan ik Installeer de grati…
·Xvid Codec & Virussen 
·Hoe te GPT converteren naar MB…
  Related Articles
Hoe maak je een Tilde gebruiken in een W…
Hoe kan ik een Umlaut gebruiken in een W…
Hoe maak je een Holiday Nieuwsbrief op u…
Hoe maak je een viervoudige Wenskaart ma…
Hoe maak je een Tent - Fold Wenskaart Ma…
Hoe te Spelling en grammatica fouten te …
Hoe kan ik een document Zoom in Word 200…
Hoe je tekst rond een afbeelding in Word…
Hoe je de uitlijning van de tekst wijzig…
  Software Articles
·De nadelen van MS Office 2003 Profession…
·Hoe te controleren in de Spaanse spellin…
·Hoe te Theme , Style , en Create Content…
·Wat is Flash Software ? 
·Hoe je items maken op Autodesk Inventor 
·Delen van een Floppy Drive & hun functie…
·Hoe de overdracht van de harde schijf om…
·Hoe de Smoke Monster maken in After Effe…
·Hoe kan ik een digitale klok op Power Po…
Copyright © Computer Kennis http://www.nldit.com