java中,利用socket传送大文件,中途停止问题
我用java写了一个传送文件的小程序,在程序里面每次传送文件时,都是在一个thread里面完成的,现在想实现传送大文件时,中途停止传送的功能.用了thread..inte...
我用java写了一个传送文件的小程序,在程序里面每次传送文件时,都是在一个thread里面完成的,现在想实现传送大文件时,中途停止传送的功能.
用了 thread..interrupt(),
socket.close();
都不能停止发送文件.
这样的话要怎么才能停止发送文件呢??? 展开
用了 thread..interrupt(),
socket.close();
都不能停止发送文件.
这样的话要怎么才能停止发送文件呢??? 展开
1个回答
展开全部
thread里面接收数据应该是一个循环把?
那么就给这个循环加一个跳出条件,比如说
private boolean stop=true;
在循环当中增加
if(stop=false){
break;
}
public void setStop(boolean stop)
{
this.stop=stop;
}
然后在需要停的时候调用setStop(false)就可以了
上面纯手打,代码拼写什么的可能有错大概就是这个意思
顺便说一下,thread.interrupt()是用来防止sleep或者wait方法卡死的,不会让线程终结。你要让线程结束还是要手动让程序跳出循环
那么就给这个循环加一个跳出条件,比如说
private boolean stop=true;
在循环当中增加
if(stop=false){
break;
}
public void setStop(boolean stop)
{
this.stop=stop;
}
然后在需要停的时候调用setStop(false)就可以了
上面纯手打,代码拼写什么的可能有错大概就是这个意思
顺便说一下,thread.interrupt()是用来防止sleep或者wait方法卡死的,不会让线程终结。你要让线程结束还是要手动让程序跳出循环
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询