At køre kommandoer som en kø og tilføje flere kommandoer til køen, mens de første kommandoer stadig kører, kan være nyttigt i mange programmeringssituationer. Her er nogle metoder til at opnå dette:
#!/bin/bash
queue=()
function enqueue {
queue+=("$1")
}
function dequeue {
echo "${queue[0]}"
queue=("${queue[@]:1}")
}
function process_queue {
while [ ${#queue[@]} -gt 0 ]; do
cmd=$(dequeue)
eval "$cmd" &
done
wait
}
enqueue "sleep 5"
enqueue "echo 'Hello World'"
process_queue
from concurrent.futures import ThreadPoolExecutor
import time
def task(name):
print(f"Task {name} starting")
time.sleep(2)
print(f"Task {name} completed")
with ThreadPoolExecutor(max_workers=3) as executor:
for i in range(5):
executor.submit(task, i)
Ved at bruge disse metoder kan du effektivt køre kommandoer som en kø og tilføje flere kommandoer til køen, mens de første kommandoer stadig kører.
Har du brug for hjælp til køstyring og dynamiske kommandoer? Med Handyhand kan du nemt oprette din opgave helt gratis og få bud fra kvalificerede hjælpere på få minutter. Gør din hverdag lettere ved at få professionel assistance til dine opgaver!