Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programvara
  • Adobe Illustrator
  • animation Software
  • antivirusprogram
  • ljudprogram
  • Säkerhetskopiera data
  • Bränn CD-skivor
  • Bränn DVD
  • Data Compression
  • Database Software
  • Desktop Publishing
  • Desktop Video
  • Digital Video Software
  • Drupal
  • Educational Software
  • Engineering Software
  • Filtillägg Typer
  • Financial Software
  • Freeware , Shareware & Abandonware
  • GIMP
  • Graphics Software
  • Home Recording Software
  • Microsoft Access
  • Microsoft Excel
  • Microsoft Publisher
  • Microsoft Word
  • Open Source Code
  • Andra datorprogram
  • PC-spel
  • Photoshop
  • Portable Document Format
  • PowerPoint
  • presentationsprogram
  • Produktivitet Software
  • quicktime
  • Remote Desktop Management
  • SQL Server
  • Skype
  • Programvara betaversioner
  • Programvara Konsulter
  • Software Development Companies
  • Software Licensing
  • Spreadsheets
  • Skatt förberedelse programvara
  • Utility Software
  • Web Clip Art
  • Windows Media Player
  • Ordbehandlingsprogram
  • * Dator Kunskap >> Programvara >> Utility Software >> Content

    Hur att koda en cyklisk Executive i Java

    En cyklisk verkställande ger ett alternativ till att skriva en fullt utvecklad , realtid operativsystem . Den består av en oändlig loop som innehåller uppsättningar av åtgärder . Varje set föregås av en väntetid som styr när uppsättningen är att utföra sina handlingar . Följande kod ger ett exempel : while ( true ) { //vänta 3 secondswait ( 3000 ) ;//ta emot ett nätverk meddelande ....... //vänta 2 sekunder för fullständig mottagning av messagewait (2000 ) ;//skanna innehållet i meddelandet ....... } Dessa åtgärder uppsättningar ofta kan köras samtidigt med någon grad av synkronisering . I Java , trådar är en mekanism för att köra samtidiga uppgifter med hjälp av pauser för att hjälpa till med synkronisering . Instruktioner
    Identifiera Uppgifter
    1

    Välj ett designmönster som är närmast de särskilda behov av ansökan att byggas som en cyklisk verkställande . Kontrollera att designmönstret täcker innehållet i slingan utgör den cykliska verkställande .
    2

    Pair beteenden av designmönstret med ansökan kraven . Se till att var och en av de synkroniserade , samarbetande processer är associerad med var och en av de beteenden som beskrivs i ansökan .
    3

    Identifiera de Java - specifika detaljer som gör upp alla de klasser processgänga av ansökan . Se till att inrätta en synkronisering paus för varje process Thread klass för att säkerställa korrekt timing mellan processerna och undvika onormala tillstånd såsom racing . Skapa support klasser att fungera som utbyte av data buffertar mellan processer, såsom köer , som behövs . Skapa en klass log ström att definiera loggar spåra genomförandet av varje process tråden.
    Organisera Package
    4

    Bygg en cyklisk verkställande huvudklass som exemplifierar klasserna processgänga , särskilt stöd klasser och annan erforderlig initiering , till exempel följande :

    class CyclicExec { public void main ( String [] args ) { //initiera behövs resurser .......... ........................... //definiera en tråd log classLogStream ls = ny LogStream ( ) ; ......... ............................ //initiera support klasser ................. .................... MsgQueue sq = ny MsgQueue ( .... ) ; .................. ................... //initiera klasser processgänga ......................... ............ //instansiera Process_1 processen och definiera dess tillhörande threadProcess_1 p1 = new Process_1 ( ...... ) , T_Process_1 = new Thread ( P1 ) ;//aktivera tråd för Process_1try { T_Process_1.start ( ) ;} catch ( IllegalThreadStateException e ) { //log en dålig tråd start och avsluta .......................... ........... } } }
    5

    Lägg till paketet alla de klasser processgänga , som i följande exempel :

    klass Process_1 utökar Thread { //initializationpublic Process_1 ( .... ) { //skapa en logg för den här tråden ( p_s är fördefinierade log strömobjekt ) PrintStream p1_s = p_s.make_it ( Processs_1_Log_File ) ;//initiera processen tråden .. ................................... } .............. ....................... //utförande - uppmanas via den implicita start ( ) metod som används i de viktigaste classpublic void run ( ) { //core loopwhile ( true ) { //core process ..................................... //paus efter att ha kört en cykel av kärnan processtry { sömn ( Process_1_Wait ) ;} catch ( InterruptedException e ) { //log paus undantag .......................... ............. } } } }
    6

    Bygg stöd klasser som definierar meddelandetjänster buffertar mellan processtrådar med sina metoder buffert tillgång kvalificerad som synkroniserade , som följande exempel:

    offentliga synkroniseras byte PushIt ( byte ITM) { ................................ ............................. }
    7

    Bygg en särskild klass som definierar loggfilerna spåra beteende klasserna processgänga , såsom :

    class LogStream { private boolean LogState ;//klass initializerpublic LogStream ( String LogStateIn ) { this.LogState = false; if ( LogStateIn.equals ( " ja " ) ) this.LogState = true; } //skapa en logg ström till en filepublic PrintStream make_it ( String LogLocation ) { PrintStream This1 , String detta2 , om ( this.LogState ) { detta2 = new String ( LogLocation ) ;} else { detta2 = new String ( " /dev /null " ) ;} try { This1 = ny PrintStream ( ny FileOutputStream ( detta2 , true ) ) ;} catch ( Exception e ) { This1 = null ; } retur This1 ;} }

    Test och leverera
    8

    Definiera en sekvens av test scenarier för att täcka både extrema och normala driftsförhållanden för att förfina synkroniseringen mellan processtrådar .
    9

    Review processen tråden loggar för att se till att processgänga klasserna fungerade som förväntat . Se till att ingen racing eller liknande förhållanden har inträffat .
    10

    Förbered paketet ansökan leverans genom att inkludera klassen ( körbara filer) för varje process trådar , huvudklassen , meddelandetjänster klasser stöd och log ström klass . Inkludera skript som lastar och ställa in klass-filer samt initierar katalogen där processgänga loggfiler ska lokaliseras .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man använder decompilers i Eclipse
    ·Hur man reparerar en WinRAR arkiv
    ·Hur man installerar den senaste drivrutinen för Window…
    ·Hur Packa bilder
    ·Hur Stream EasyCAP på Ustream
    ·Hur man ominstallera en Diskdefragmenteraren
    ·Inaktivera Datorhantering
    ·Avinstallera WhiteSmoke Översättare
    ·Hur konvertera DBF till IPD
    ·Vad är en ISO skivavbild
    Utvalda artiklarna
    ·Hur man kan öka ISO filstorlek i UltraISO
    ·Hur fixar jag Ableton Live Copy Protection
    ·Inaktivera en Trend Micro Antivirus Firewall
    ·Camtasia Vs. iMovie
    ·Hur man sätter in en bild i en PDF-fil i Acrobat 7
    ·Hur göra en Video Game som ett proffs
    ·Hur man sätter in en Upside Down frågetecknet i Micro…
    ·Hur Infoga ett index i en PowerPoint
    ·Användningsområden för en streckkod
    ·Hur man beräknar Markup i Excel
    Copyright © Dator Kunskap http://www.dator.xyz