Java代码:

package Threads;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket; /**
* Created by Frank
*/
public class StopClose extends Thread {
protected Socket io; public void run() {
try {
io = new Socket("java.sun.com", );
BufferedReader is = new BufferedReader(new InputStreamReader(io.getInputStream()));
System.out.println("StopClose reading"); /**
* 死锁,因为读取响应之前,HTTP责成客户端发送一个请求(像GET/HTTP/1.0)和一个空行
*/
String line = is.readLine(); /**
* 所以我们永远不可能到达这里
*/
System.out.printf("StopClose FINISHED after reading %s!", line); } catch (IOException ex) {
System.out.println("StopClose terminating:" + ex);
}
} public void shutDown() throws IOException {
if (io != null) {
synchronized (io) {
io.close();
}
}
System.out.println("StopClose.shutDown() complete");
} public static void main(String[] args) throws InterruptedException, IOException {
StopClose t = new StopClose();
t.start();
sleep(*);
t.shutDown();
}
}

Java关闭Socket来终止线程的更多相关文章

  1. 【java】 java 中stop方法终止线程的不良后果

    stop()方法属于暴力终止线程的方法,有诸多隐患已经被废弃了. 下面演示的是stop方法会释放锁,造成数据不一致的问题. package com.xwolf.java.thread; /** * C ...

  2. 【Java TCP/IP Socket】基于线程池的TCP服务器(含代码)

    了解线程池 在http://blog.csdn.net/ns_code/article/details/14105457(读书笔记一:TCP Socket)这篇博文中,服务器端采用的实现方式是:一个客 ...

  3. Java线程池ThreadPoolExecutor使用和分析(三) - 终止线程池原理

    相关文章目录: Java线程池ThreadPoolExecutor使用和分析(一) Java线程池ThreadPoolExecutor使用和分析(二) - execute()原理 Java线程池Thr ...

  4. Java中终止线程的三种方法

    终止线程一般建议采用的方法是让线程自行结束,进入Dead(死亡)状态,就是执行完run()方法.即如果想要停止一个线程的执行,就要提供某种方式让线程能够自动结束run()方法的执行.比如设置一个标志来 ...

  5. java中终止线程的三种方式

    在java中有三种方式可以终止线程.分别为: 1.  使用退出标志,使线程正常退出,也就是当run方法完成后线程终止.  2.  使用stop方法强行终止线程(这个方法不推荐使用,因为stop和sus ...

  6. Java终止线程的三种方式

    停止一个线程通常意味着在线程处理任务完成之前停掉正在做的操作,也就是放弃当前的操作. 在 Java 中有以下 3 种方法可以终止正在运行的线程: 使用退出标志,使线程正常退出,也就是当 run() 方 ...

  7. Java中正确终止线程的方法

    Thread类中有一个已经废弃的 stop() 方法,它可以终止线程,但由于它不管三七二十一,直接终止线程,所以被废弃了.比如,当线程被停止后还需要进行一些善后操作(如,关闭外部资源),使用这个方法就 ...

  8. java线程中断和终止线程运行

    ava中启动一个线程很容易,通常情况下我们都是等到任务运行结束后让线程自行停止.但有时需要在任务正在运行时取消他们,使得线程快速结束.对此Java并没有提供任何机制.但是我们可以通过Java提供的线程 ...

  9. 《Java并发编程》之线程中断与终止线程运行

    Java中启动一个线程很容易,通常情况下我们都是等到任务运行结束后让线程自行停止.但有时需要在任务正在运行时取消他们,使得线程快速结束.对此Java并没有提供任何机制.但是我们可以通过Java提供的线 ...

随机推荐

  1. Eclipse 汉化的和修改字体的方法

    先进入 http://www.eclipse.org/babel/downloads.php 找到自己对应版本的网址,然后复制下来. 然后,进入eclipse.点工具栏上的Help - Install ...

  2. [转]PHP用mysql数据库存储session

    From : http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2010/0226/4002.html 大部分使用php的人一旦应用到sessio ...

  3. java 常用集合list与Set、Map区别及适用场景总结

     转载请备注出自于:http://blog.csdn.net/qq_22118507/article/details/51576319                  list与Set.Map区别及 ...

  4. Python collections.OrderedDict解决dict元素顺序问题

    编程中遇到个问题,python json.loads时元素顺序可能会发生变化. 这个对于一些需要使用元素顺序来做一些策略的代码来说是致命的. 在网上查了查,结合自己的知识总结一下. 使用dict时,K ...

  5. printf()详解之终极无惑

    1.printf()简介 printf()是C语言标准库函数,用于将格式化后的字符串输出到标准输出.标准输出,即标准输出文件,对应终端的屏幕.printf()申明于头文件stdio.h. 函数原型: ...

  6. OJ模板库

    近期刷了好几次的oj,好受伤好多都是相似的题目. 最长回文子串 string preprocess(string &str) { string afterProcessStr="#& ...

  7. Android -- EventBus解析

    EventBus EventBus 是一个 Android 事件发布/订阅框架,通过解耦发布者和订阅者简化 Android 事件传递.传统的事件传递方式包括:Handler.BroadCastRece ...

  8. 【GRPC】GRPC-负载均衡

    GRPC-负载均衡 grpc nginx_百度搜索 grpc(1):Centos 安装java的grpc服务,使用haproxy进行负载均衡,nginx不支持 - freewebsys的专栏 - CS ...

  9. Kaggle 商品销量预测季军方案出炉,应对时间序列问题有何妙招

    https://www.leiphone.com/news/201803/fPnpTdrkvUHf7uAj.html 雷锋网 AI 研习社消息,Kaggle 上 Corporación Favorit ...

  10. paypal 的IPN通知调用出错

    一直报错: 当本地curl需要访问https时,出现SSL certificate: unable to get local issuer certificate错误信息 解决办法: 到http:// ...