works:
while threads.size > 50
sleep 0.01
deleted = []
threads.delete_if { |thread| deleted << thread if not thread.alive? }
deleted.clear
end
does not work:
while threads.size > 50
sleep 0.01
threads.delete_if { |thread| if not thread.alive? }
end