java打开网络中的流, 如何设置最长时间? 例如用URL中的方法openStream()来打开一个网页的输入流, 我想规定在一定时间内打不开该流就终止打开, 有什么方法可以调用呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那你最好的办法还是用NIO来处理 要不也可以用setSoTimeout(int timeout) setSoTimeout没有用,他要度量的是Transaction Timeout,而不是TCP Timeout,启动一个线程来作,然后他的manager wait(5000L)5秒,然后查询那个线程工作完成没有,没有完成就中止,如果线程提前完成任务,要notify他的manager,这样就可以完成任务 lbfhappy(千里冰封), 好象Socket里面的方法setSoTimeout(int timeout)和URLConnection里面的方法setConnectTimeout(int timeout)都是在通信连接时才能用, 而我只想打开某个网页的流好象不能调用这些方法, 不然会产生例外UnknownServiceException; 另外, 不知道你所说的用NIO如何处理~lesstif(品位人生), 我对java了解得比较少, 不知道你说的manager是如果使用, 另外, 我强行调用线程的stop(), 但却不能够正常地终止该线程, 不知道还有什么办法可以强行终止一个线程的~~ 你也可以起一个线程,这个线程里面倒计时,到了此定的时间如果你还没有连接上,就可以在线程里对你等待连接这个线程进行操作了,这是JAVA多线程的优势,一个线程卡死不会影响别的线程 lbfhappy(千里冰封): 我现在也是采用这种方法来做的, 但是考虑到它有弊端, 首先, 为每个线程增加一个计时的线程会给CPU增加很大的负担; 另外, 线程太多容易产生死锁, 我对死锁处理也不太在行; 最后, 我用计时的线程调用stop()方法来终止等待连接的线程时, 它并没能正常终止, stop()方法是不建议采用的, 不知道还有什么好方法可以强行终止线程的, 很多人建议用while(stop)循环来编写线程, stop为false的时候线程就终止了, 但是这样却不能在打开流的等待过程中就终止该线程. 所以我觉得最好还是有方法可以设置打开流的最长等待时间, 或设置线程执行的最长时间.不知各位高手有什么建议~~ openStream()本身就应该有这样的处理机制,毕竟这种事不可能不考虑到 一个jni问题:) 用java实现画直线的功能 java字符串中的方法 请JTable高手帮忙,怎么样在JTable中设置超联接,不解决不想混IT.下海去生意了。 [求教]finally到底用来干嘛? 谁知道如何得到java中某一个对象所占用的内存是多大?要求精确的知道 如何取得JTextPane中的内容? 急!!!小弟明天面试,求助大家!!! 如何让VisualAge 使用 JDK1.4? 用JAVA操作数据库居然出现这种现象 请大家评论一下曾国藩和李鸿章 分布式垃圾回收~~~
lesstif(品位人生), 我对java了解得比较少, 不知道你说的manager是如果使用, 另外, 我强行调用线程的stop(), 但却不能够正常地终止该线程, 不知道还有什么办法可以强行终止一个线程的~~
首先, 为每个线程增加一个计时的线程会给CPU增加很大的负担; 另外, 线程太多容易产生死锁, 我对死锁处理也不太在行; 最后, 我用计时的线程调用stop()方法来终止等待连接的线程时, 它并没能正常终止, stop()方法是不建议采用的, 不知道还有什么好方法可以强行终止线程的, 很多人建议用while(stop)循环来编写线程, stop为false的时候线程就终止了, 但是这样却不能在打开流的等待过程中就终止该线程.
所以我觉得最好还是有方法可以设置打开流的最长等待时间, 或设置线程执行的最长时间.不知各位高手有什么建议~~