Middle
Çox iş parçacığı kontekstində 'müsabiqə' və 'paralelizm' arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Müsabiqə (concurrency) — sistemin bir neçə vəzifəni eyni vaxtda işləyə bilmə qabiliyyətidir. Bu vəzifələr tək bir prosessor nüvəsində işlədilə bilər və zamanla bir-biriləri arasında keçid edə bilər (zaman bölmə prinsipi). Zəruri deyil ki, vəzifələr eyni fiziki zamanda yerinə yetirilsin.
Paralelizm (parallelism) — bir neçə vəzifənin fiziki olaraq eyni zamanda, yəni bir vaxtda işləməsidir; bu, bir neçə nüvə və ya prosessor istifadə etməklə həyata keçirilir.
Əsas fərq:
- Müsabiqə: Bir neçə vəzifənin idarə olunması, onlar eyni vaxtda yerinə yetirilə və ya yerinə yetirilməyə bilər. Proqramın çoxlu icra axınlarını idarə etmək üçün strukturlaşdırılmasına diqqət yetirir.
- Parallelizm: Bir neçə vəzifənin fiziki olaraq eyni vaxtda yerinə yetirilməsi. İcranı sürətləndirmək üçün mövcud hardware resurslarından istifadə edir.
// Paralel olmayan, lakin paralel yerinə yetirmə zəmanəti olmayan müsabiqə nümunəsi
public class ConcurrentExample {
public static void main(String[] args) {
Runnable task1 = () -> System.out.println("Vəzifə 1 başladı, ip: " + Thread.currentThread().getName());
Runnable task2 = () -> System.out.println("Vəzifə 2 başladı, ip: " + Thread.currentThread().getName());
new Thread(task1).start(); // Eyni nüvədə yerinə yetirilə bilər
new Thread(task2).start(); // Eyni nüvədə yerinə yetirilə bilər
}
}
// Paralel nümunə (çox nüvəli prosessor tələb edir)
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 istifadə edir
.forEach(number -> System.out.println("İşlənir " + number + " ipdə: " + Thread.currentThread().getName()));
}
}
| Təsir | Müsabiqə | Paralelizm |
|---|---|---|
| Məqsəd | Bir neçə vəzifənin idarə olunması | İcranın sürətləndirilməsi |
| Tələblər | Bir neçə vəzifə/axın | Çox nüvəli prosessor/müxtəlif prosessorlar |
| İcrası | Dövrü icra | Eyni vaxtda icra |
| Tezlik | Bir nüvədə əldə edilə bilər | Bir neçə nüvə/prosessor tələb edir |
| Nümunə | Bir nüvəli sistemdə çoxlu vəzifə icrası | Böyük məlumat dəstlərinin paralel işlənməsi |