2011-04-12 70 views
0

我陷入了一个严重的问题。我发送一个请求到服务器,其中包含一些URL作为其数据。如果我解释它,就像我有一个文件,其中包含一些URL的顺序,我必须通过使用线程读取这些顺序数据。现在问题是有十万个URL,我必须在特定的时间(比如说30秒)发送服务器中的每个URL。所以我必须创建线程,以便在预期的时间内完成任务。但是我必须以这样的方式读取文件,如果第一个线程服务第一个100个URL,那么第二个线程将服务下一个100个URL,并且以同样的方式其他线程也一样。而且我正在使用套接字编程,所以有我一次只能使用一个端口。那么如何解决这个问题。给我一个很好和简单的想法,如果可能的话,给我一个例子。java中的多线程处理

由于提前

+5

#1功课? #2,你能展示至少17(是的)17行代码吗? – Neal 2011-04-12 12:45:37

+1

你的问题不够清楚。为什么每个线程都必须准确地提供100个URL?难道你不能使用线程池中的下一个可用线程来处理下一个请求吗?此外,只需确认:您必须编写服务器以及客户端,对不对? – 2011-04-12 12:48:48

+0

哦,我想我明白了 - 每个响应都必须包含100个网址?是对的吗? – 2011-04-12 12:50:58

回答

2

尼斯和简单的想法(如果我理解正确你的问题):你可以使用一个LinkedList的队列。从文件中读取1,000个URL并将它们放入列表中。产生你的线程,然后拉下(并删除)列表中的下100个URL。 LinkedList虽然不是线程安全的,所以你必须自己同步访问。