仓酷云

标题: 了解下JAVA的怎样中断java线程 [打印本页]

作者: 乐观    时间: 2015-1-18 11:11
标题: 了解下JAVA的怎样中断java线程
再说说缺点:首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。
简介
在Java的多线程编程中,java.lang.Thread范例包括了一些列的办法start(),stop(),stop(Throwable)andsuspend(),destroy()andresume()。经由过程这些办法,我们能够对线程举行便利的操纵,可是这些办法中,只要start()办法失掉了保存。
在Sun公司的一篇文章《WhyareThread.stop,Thread.suspendandThread.resumeDeprecated?》中具体解说了舍弃这些办法的缘故原由。那末,我们事实应当怎样中断线程呢?
倡议利用的办法
在《WhyareThread.stop,Thread.suspendandThread.resumeDeprecated?》中,建议利用以下的办法来中断线程:
private volatile Thread blinker;
    public void stop() {
        blinker = null;
    }
    public void run() {
        Thread thisThread = Thread.currentThread();
        while (blinker == thisThread) {
            try {
                thisThread.sleep(interval);
            } catch (InterruptedException e){
            }
            repaint();
        }
    }
关于利用volatile关头字的缘故原由,请检察http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#36930。
当线程处于非运转(Run)形态
当线程处于上面的情况时,属于非运转形态:
* 当sleep办法被挪用。
*当wait办法被挪用。
*当被I/O堵塞,多是文件大概收集等等。
当线程处于上述的形态时,利用后面先容的办法就不成用了。这个时分,我们可使用interrupt()来冲破堵塞的情形,如:
public void stop() {
        Thread tmpBlinker = blinker;
        blinker = null;
        if (tmpBlinker != null) {
           tmpBlinker.interrupt();
        }
    }
<p>
再举这样一个例子:如果你想对一个数字取绝对值,你会怎么做呢?java的做法是intc=Math.abs(-166);而ruby的做法是:c=-166.abs。呵呵,这就看出了java与ruby的区别。
作者: 山那边是海    时间: 2015-1-20 16:23
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
作者: 兰色精灵    时间: 2015-1-21 21:02
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
作者: 老尸    时间: 2015-1-29 12:52
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
作者: 再见西城    时间: 2015-2-6 01:03
是一种突破用户端机器环境和CPU
作者: 蒙在股里    时间: 2015-2-6 15:00
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
作者: 冷月葬花魂    时间: 2015-2-16 17:59
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
作者: 愤怒的大鸟    时间: 2015-3-12 00:21
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
作者: 灵魂腐蚀    时间: 2015-3-19 16:56
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
作者: 不帅    时间: 2015-3-29 03:38
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2