# File lib/nanoc/extra/checking/checks/external_links.rb, line 63
    def select_invalid(hrefs)
      enum = ArrayEnumerator.new(hrefs.sort)
      mutex = Mutex.new
      invalid = Set.new

      threads = []
      10.times do
        threads << Thread.new do
          loop do
            href = enum.next
            break if href.nil?
            res = self.validate(href)
            if res
              mutex.synchronize do
                invalid << res
              end
            end
          end
        end
      end
      threads.each { |t| t.join }

      invalid
    end