|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Java Programming >> Content

    Hur förhindra samtidig tillgång till en metod i Java

    Moderna processorer med flera kärnor kan dra nytta av samtidiga Java-program . En samtidig tillämpning är en som utför flera operationer samtidigt . Samtidighet introducerar unika utmaningar som måste lösas för att undvika problem . Ett stort problem uppstår när två trådar av verkställigheten varje tillträde samma metod samtidigt . En tråd kan störa varandra och göra data opålitliga . För att kontrollera detta problem , kan du förhindra samtidig tillgång till en metod som använder synkronisering inslag i Java . Saker du behöver Review, Java Software Development Kit med NetBeans Integrated Development Environment ( IDE ) Bundle
    Visa fler instruktioner
    1

    Fyll i NetBeans IDE genom att klicka på dess programikon . När programmet laster , navigera till " Ny /Nytt projekt " och välj " Java Application " i listan på höger sida av skärmen . En ny källkod filen visas i NetBeans textredigeraren . Källkoden filen innehåller en tom huvudfunktion
    2

    Deklarera Den statiska variabeln x genom att skriva följande i den viktigaste funktionen i källkoden : . Static int x = 0;

    Billiga 3

    Skapa en synkroniserad metod genom att lägga till " synkroniserade " nyckelordet till metoden deklarationen . En synkroniserad metod kan endast nås genom en tråd i taget , vilket förhindrar uppgifter inkonsekvenser . För att deklarera en metod som heter " methodName " synkroniserad , skriver följande uttalande i källkoden file : offentliga synkroniseras methodName ( )
    4

    Öka ett heltal genom att skriva följande uttalande inom klammerparenteser av metoden : tillbaka x + + ;
    5

    Ring synkroniserade metoden . För att förstå vad synkronisering utför , först anta att metoden inte var synkroniserade . Om två parallella trådar anropa metoden samtidigt , kommer de att varje ökning av variabeln x . Eftersom x startar på 0 , kommer resultatet av en ökning operation vara x = 1 . Detta är ett problem eftersom metoden kallades två gånger , och därför x bör motsvara 2 . Eftersom " methodName " är synkroniserad , kommer endast en av de två parallella trådar in metoden i taget . En tråd kommer in " methodName , " x tillväxtförändringar och avsluta . Detta gör att andra tråden att ange " methodName " och utför den andra inkrement operationen . Med den synkroniserade sökord , två samtal till " methodName " result in x är lika med 2 . Ett metodanrop kan skrivas så här : methodName ( ) ;

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man ska lösa minnesläcka problem i en Websphere
    ·Hur konvertera HEX till RGB i Java
    ·Lägga JButton till JPanel
    ·Hur man kör Tcpdump Från Java
    ·Hur man undviker en division med noll Undantag i Java
    ·Hur får värde från en kod till XML på en Android
    ·Hur man skapar en styrkt mapp
    ·Hur man skickar SMS Använda Java
    ·Hur man driver ett Java- programmet Script i Ubuntu
    ·Hur man använder Android SDK
    Utvalda artiklarna
    ·Vad är en Python GIL
    ·Hur man genomför en lista i Android XML
    ·Hur Input ett datum i MySQL
    ·Handledning för Pythons SQLAlchemy
    ·CURL & HTTP Kunde inte lösa Host
    ·Hur man testar för en fil i Visual Basic
    ·Hur man gör spel i VB.NET
    ·Hur medelbetyg Använda Java
    ·Hur man gör ett hemligt meddelande Använda VB
    ·PHP MySQL UTF8 Problem
    Copyright © Dator Kunskap http://www.dator.xyz