Java Academy · Oppitunti

Tehtävät ja elinkaaret

Ymmärtäkää tehtävien tilat ja elinkaaret rinnakkaisuudessa luomisesta päättämiseen.

Oppitunti 2/28 vaihetta

Tehtävät ja elinkaaret on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/2. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 2 oppituntia.

Johdanto

Tehtävät edustavat työyksiköitä. Säikeet ja suorittajat suorittavat tehtäviä, ja jokainen tehtävä käy läpi elinkaaren.

Säikeiden tilat

Säikeiden tilat: NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED.

Koodi: elinkaaren tilat

Tässä näytetään säikeiden tilat ennen suoritusta ja sen jälkeen.

public class Main {
  public static void main(String[] args) throws Exception {
    Thread t = new Thread(() -> System.out.println("Running task"));
    System.out.println("State before start: " + t.getState());
    t.start();
    t.join();
    System.out.println("State after finish: " + t.getState());
  }
}

Executor-tehtävät

Suorittajat hallitsevat tehtäviä sisäisesti. Tehtävät asetetaan jonoon, säikeet poimivat ne suoritettaviksi, ja lopuksi ne valmistuvat.

Koodi: executorin elinkaari

Tässä tehtävä lähetetään suorittajalle ja suorittaja sammutetaan.

import java.util.concurrent.*;public class Main {
  public static void main(String[] args) throws Exception {
    ExecutorService exec = Executors.newSingleThreadExecutor();
    Future<?> f = exec.submit(() -> System.out.println("Task in executor"));
    f.get();
    exec.shutdown();
    System.out.println("Executor shutdown called.");
  }
}

Odotustilat

Säikeet voivat odottaa (WAITING) tai odottaa aikakatkaisun kanssa (TIMED_WAITING). Niistä tulee jälleen RUNNABLE-tilassa olevia, kun ne saavat ilmoituksen.

Elinkaaren tarkistus

Pikatarkistus: Mikä näistä EI ole yleinen säikeen tila?

Kertaus

Kertaus: Säikeet ja tehtävät siirtyvät tilasta toiseen. Suorittajat hallitsevat tehtäviä ja sammuttavat itsensä asianmukaisesti.

Aloita maksutta

Opi Java tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
104
Oppitunnit
374

Usein kysytyt kysymykset

Onko oppitunti ”Tehtävät ja elinkaaret” ilmainen?

Kyllä – oppitunnin ”Tehtävät ja elinkaaret” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 2 oppituntia.

Mitä opin oppitunnilla ”Tehtävät ja elinkaaret”?

Ymmärtäkää tehtävien tilat ja elinkaaret rinnakkaisuudessa luomisesta päättämiseen. Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/2.

Kuinka kauan ”Tehtävät ja elinkaaret”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?

Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Executorit ja Futuret
  2. Tehtävät ja elinkaaret
← Takaisin: Java Academy