Junior
Java бағдарламалау тілінің қандай құралдарымен ағындар жасауға болады?
sobes.tech AI
AI-дан жауап
Threadсыныбы арқылы мұрагерлік:
// `Thread` сыныбынан мұрагерлік ететін сыныпты құру
class MyThread extends Thread {
@Override
public void run() {
// ағынды орындау логикасы
}
}
// Ағынды құрып, іске қосу
MyThread thread = new MyThread();
thread.start();
Runnableинтерфейсін жүзеге асыру:
// `Runnable` жүзеге асыратын сыныпты құру
class MyRunnable implements Runnable {
@Override
public void run() {
// ағынды орындау логикасы
}
}
// `Runnable` көмегімен ағынды құру
Thread thread = new Thread(new MyRunnable());
thread.start();
java.util.concurrentпакетіндегі ағындар пулдарын пайдалану (ExecutorService):
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
// Ағындар пулын құру
ExecutorService executor = Executors.newFixedThreadPool(5);
// Тапсырманы орындауға жіберу
executor.execute(new MyRunnable());
// Пулды тоқтату
executor.shutdown();
CallableжәнеFutureпайдалану арқылы орындалу нәтижесін алу:
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
// Қайтарым мәні бар тапсырманы құру
class MyCallable implements Callable<String> {
@Override
public String call() throws Exception {
return "Ағынды орындау нәтижесі";
}
}
// Ағындар пулын құру
ExecutorService executor = Executors.newSingleThreadExecutor();
// Тапсырманы орындауға жіберу және Future алу
Future<String> future = executor.submit(new MyCallable());
try {
// Нәтижені алу
String result = future.get();
} catch (Exception e) {
// Исключенияларды өңдеу
}
// Пулды тоқтату
executor.shutdown();