Sobes.tech
Middle

Фарқи байни 'муқобила' ва 'параллелизм' дар контексти бисёрсоҳавӣ чист?

sobes.tech AI

Ҷавоб аз AI

Бәсекелестік (concurrency) — бұл жүйенің бірнеше тапсырманы бір уақытта өңдеу мүмкіндігі. Бұл тапсырмалар бір ядро ​​процессорында орындалуы мүмкін, уақыт бойынша ауысу арқылы (уақытты бөлу принципі). Міндетті емес — тапсырмаларды бір физикалық уақытта орындау.

Параллелизм (parallelism) — бірнеше тапсырманың нақты бір уақытта орындалуы, бірнеше ядролы процессорды немесе бірнеше процессорды пайдалана отырып, бір физикалық уақытта.

Негізгі айырмашылық:

  • Бәсекелестік: бірнеше тапсырманы басқару, олар бір уақытта орындалуы мүмкін немесе мүмкін емес. Бағдарламаны бірнеше ағынды өңдеуге құрылымдау.
  • Параллелизм: бірнеше тапсырманың физикалық бір уақытта орындалуы. Қол жетімді аппараттық ресурстарды пайдалану арқылы орындауды жеделдету.
// Бәсекелестіктің мысалы (параллель орындалу кепілдігі жоқ)
public class ConcurrentExample {
    public static void main(String[] args) {
        Runnable task1 = () -> System.out.println("Тапсырма 1 басталды ағын: " + Thread.currentThread().getName());
        Runnable task2 = () -> System.out.println("Тапсырма 2 басталды ағын: " + Thread.currentThread().getName());

        new Thread(task1).start(); // Бір ядро ​​жоғары орындалуы мүмкін
        new Thread(task2).start(); // Бір ядро ​​жоғары орындалуы мүмкін
    }
}
// Параллелизмнің мысалы (көпядролы процессор қажет)
import java.util.List;
import java.util.Arrays;

public class ParallelExample {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

        numbers.parallelStream() // ForkJoinPool пайдаланады параллель орындалу үшін
               .forEach(number -> System.out.println("Обработка " + number + " ағын: " + Thread.currentThread().getName()));
    }
}
Аспект Бәсекелестік Параллелизм
Мақсат бірнеше тапсырманы басқару орындалуды жеделдету
Талаптар бірнеше тапсырма/ағындар көпядролы процессор/бірнеше процессорлар
Орындау кезектесіп орындалу бір уақытта орындалу
Жиілік бір ядро ​​жоғары орындалуы мүмкін бірнеше ядро ​​/процессорды талап етеді
Мысал бір ядролы жүйеде көп тапсырмалы жұмыс үлкен деректер массивін параллель өңдеу