Junior — Middle
Kā dažādos veidos var realizēt datu plūsmu veidošanu Java un kādas ir to atšķirības?
sobes.tech AI
Atbilde no AI
Java valodā datu straumes (streams) var realizēt vairākos veidos:
-
Mantošana no
Threadklases- Izveidojat klasi, kas paplašina
Threadun pārrakstarun()metodi. - Sākat straumi, izsaucot
start().
- Izveidojat klasi, kas paplašina
-
Runnable interfeisa īstenošana
- Izveidojat klasi, kas īsteno
Runnablearrun()metodi. - Objekts tiek nodots
Threadkonstruktoram un sākts.
- Izveidojat klasi, kas īsteno
-
ExecutorServiceizmantošana- Ļauj pārvaldīt thread pool.
- Noder skalējamās lietojumprogrammās.
-
CallableunFutureizmantošana- Ļauj iegūt rezultātu no straumes.
Atšķirības:
- Mantošana no
Threadierobežo mantošanu, jo Java neatbalsta daudzmantošanu. - Runnable ir elastīgāks, ļauj izmantot kompozīciju.
ExecutorServicevienkāršo thread pārvaldību un to dzīves ciklu.
Piemērs ar Runnable:
class MyRunnable implements Runnable {
public void run() {
System.out.println("Straume sākta");
}
}
public class Main {
public static void main(String[] args) {
Thread thread = new Thread(new MyRunnable());
thread.start();
}
}