2

我以前见过类似的问题,但没有一个像我的一样基本。我知道可以使用Net::FTP和线程。我的问题是你如何创建一个线程并将其传递给一个文件以上传。我对线程的概念仍然很陌生。

4

1 回答 1

1

对于 OSX,您还可以使用Upload to FTP查看Automator

然而,对于 Ruby,可以使用这样的东西作为起点:

def ftp_send_file(file)
  Net::FTP.open("hostname") do |ftp|
    ftp.login("user", "password")
    ...
    ftp.putbinaryfile(file)
  end
end

8.times { |i|
  puts "Starting upload no. #{i}..."

  # Launch a new thread for file upload
  Thread.new { ftp_send_file("the_big_file_#{i}") }
}

# Main thread waits for all upload threads to finish
(Thread.list - [Thread.current]).each(&:join)

正如你所看到的,启动一个线程并没有那么复杂。只需阅读Thread文档。里面还有很多例子。

于 2012-06-09T02:37:56.527 回答