Middle
Ko'p ipli ishlash kontekstida 'raqobat' va 'parallelizm' o'rtasidagi farq nima?
sobes.tech AI
AIdan javob
Konkurs (concurrency) — bu tizimning bir nechta vazifalarni bir vaqtning o'zida bajarish imkoniyatidir. Bu vazifalar bitta protsessor yadroida bajarilishi mumkin, vaqt bo'linishi prinsipiga muvofiq o'zaro almashadi (vaqt bo'linishi prinsipi). Majburiy emaski, vazifalar bir vaqtning o'zida bajarilmoqda.
Parallelizm (paralelizm) — bir vaqtning o'zida, ya'ni fizik jihatdan bir vaqtning o'zida bajarilayotgan bir nechta vazifa, bu bir nechta yadro yoki protsessorlardan foydalanadi.
Asosiy farq:
- Konkursiya: Bir nechta vazifalarni boshqarish, ular bir vaqtning o'zida bajarilishi yoki bajarilmasligi mumkin. Dastur tuzilishiga e'tibor qaratadi, bir nechta bajarish oqimlarini boshqarish.
- Paralelizm: Bir nechta vazifalarining fizik jihatdan bir vaqtning o'zida bajarilishi. Bajarishni tezlashtirish uchun mavjud apparat resurslaridan foydalanish.
// Paralel bajarilmasdan, lekin paralel bajarilishi kafolatlanmagan konkurs misoli
public class ConcurrentExample {
public static void main(String[] args) {
Runnable task1 = () -> System.out.println("Vazifa 1 ishga tushdi, ip: " + Thread.currentThread().getName());
Runnable task2 = () -> System.out.println("Vazifa 2 ishga tushdi, ip: " + Thread.currentThread().getName());
new Thread(task1).start(); // Bir yadroda bajarilishi mumkin
new Thread(task2).start(); // Bir yadroda bajarilishi mumkin
}
}
// Paralel misol (ko'p yadroli protsessor talab qilinadi)
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 yordamida parallel bajariladi
.forEach(number -> System.out.println("Qayta ishlash " + number + " ipda: " + Thread.currentThread().getName()));
}
}
| Ta'sir | Konkursiya | Parallelizm |
|---|---|---|
| Maqsad | Bir nechta vazifalarni boshqarish | Bajarishni tezlashtirish |
| Talablar | Bir nechta vazifa/iplar | Ko'p yadroli protsessor/bir nechta protsessor |
| Bajarilish | O'zaro almashish bilan bajarish | Bir vaqtning o'zida bajarish |
| Tezlik | Bir yadroda erishish mumkin | Bir nechta yadro/protsessor talab qiladi |
| Misol | Bir yadroli tizimda ko'p vazifali ishlash | Katta ma'lumotlar to'plamini parallel ravishda ishlash |