← Kursa Dön
💻

Thread Pool Simülasyonu

Kolay
100 puan · Java

Bu ödevde basit bir thread pool mekanizması simüle edeceksiniz. Worker thread'ler ve bir görev kuyruğu ile temel TaskExecutor mantığını pure Java ile uygulayacaksınız.

📋 Talimatlar

Bir SimpleTaskExecutor sınıfı ve Main sınıfı oluşturun.

SimpleTaskExecutor sınıfı:

  • Constructor: SimpleTaskExecutor(int poolSize) — worker thread sayısı
  • void submit(String taskName, int durationMs) — görevi kuyruğa ekler
  • void shutdown() — tüm görevler tamamlanana kadar bekler ve thread'leri durdurur
  • Worker thread'ler sürekli kuyruktan görev alıp çalıştırır
  • Her görev başladığında: "[ThreadAdı] Started: görevAdı" yazdırır
  • Her görev tamamlandığında: "[ThreadAdı] Completed: görevAdı" yazdırır

Main sınıfı: İlk satırda pool boyutu (P) ve görev sayısı (N) okunur. Sonraki N satırda görevAdı süreMs formatında görevler gelir.

Tüm görevleri submit edin, sonra shutdown çağırın.

Not: Thread isimleri "Worker-0", "Worker-1", ... formatında olmalıdır. LinkedBlockingQueue kullanın.

🧪 Örnek Test Senaryoları

Tek worker, iki görev sırayla çalışır
Girdi
1 2
task1 100
task2 100
Beklenen Çıktı
[Worker-0] Started: task1
[Worker-0] Completed: task1
[Worker-0] Started: task2
[Worker-0] Completed: task2
İki worker, iki görev paralel çalışır
Girdi
2 2
task1 50
task2 50
Beklenen Çıktı
[Worker-0] Started: task1
[Worker-1] Started: task2
[Worker-0] Completed: task1
[Worker-1] Completed: task2

💡 İpuçları

Main.java
✓ Çözüm yüklendi
puan

                    
Ln 1, Col 1 · JAVA · UTF-8
Wandbox