Tekshirdi: Boburxon To’rayev


Download 0,86 Mb.
bet2/2
Sana25.10.2023
Hajmi0,86 Mb.
#1722504
1   2
Bog'liq
suxrob

Amaliy ish

package ppl;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;

public class ParallelImageProcessing {


public static void main(String[] args) {
int numThreads = Runtime.getRuntime().availableProcessors(); // Kompyuterda mavjud protsessorlar soni
ExecutorService executor = Executors.newFixedThreadPool(numThreads);

// Tasvirlarni o'zgartirish uchun ParallelImageProcessor klasini ishlatamiz


String[] imagePaths = {"image1.jpg", "image2.jpg", "image3.jpg", "image4.jpg"};

long startTime = System.currentTimeMillis(); // Boshlang'ich vaqti


for (String imagePath : imagePaths) {
Runnable imageProcessor = new ParallelImageProcessor(imagePath);
executor.execute(imageProcessor);
}

executor.shutdown();

try {
executor.awaitTermination(1, TimeUnit.HOURS);
} catch (InterruptedException e) {
e.printStackTrace();
}

long endTime = System.currentTimeMillis(); // Tugash vaqti


long elapsedTime = endTime - startTime; // Ish bajarish vaqti
System.out.println("Ish bajarish vaqti (ms): " + elapsedTime);
}
}

class ParallelImageProcessor implements Runnable {


private String imagePath;

public ParallelImageProcessor(String imagePath) {


this.imagePath = imagePath;
}

@Override


public void run() {
long startTime = System.currentTimeMillis(); // Boshlang'ich vaqti
// Tasvirni o'zgartirishni bajarish uchun kerakli kodni yozing
System.out.println("Tasvir o'zgartirildi: " + imagePath);
long endTime = System.currentTimeMillis(); // Tugash vaqti
long elapsedTime = endTime - startTime; // Ish bajarish vaqti
System.out.println(imagePath + "ni o'zgartirish vaqti (ms): " + elapsedTime);
}
}




Download 0,86 Mb.

Do'stlaringiz bilan baham:
1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2025
ma'muriyatiga murojaat qiling