1. 1. 早期Java提供java.lang.Thread类型包含了一些列的方法 start(), stop(), stop(Throwable) and suspend(), destroy() and resume()。,Sun 公司的一篇文章 《Why are Thread.stop, Thread.suspend and Thread.resume Deprecated? 》
    2. 2.使用volatile变量来设置Thread的run的循环条件,保证变量同步性
    3. public class JavaTest extends Thread{
    4. private volatile boolean isRun = true;
    5. public static void main(String[] args) {
    6. JavaTest thread = new JavaTest();
    7. thread.start();
    8. thread.close();
    9. }
    10. @Override
    11. public void run() {
    12. while (isRun) {
    13. //dosomething
    14. }
    15. }
    16. public void close() {
    17. this.isRun = false;
    18. }
    19. }
    20. 3.使用interrupt()来中止非运行状态的线程,如wait()和sleep()状态的线程,此时可利用interrupted来终止线程
    21. public class JavaTest extends Thread{
    22. private volatile boolean isRun = true;
    23. public static void main(String[] args) {
    24. JavaTest thread = new JavaTest();
    25. thread.start();
    26. thread.close();
    27. if (thread != null) {
    28. thread.interrupt(); //外围调用关闭
    29. }
    30. }
    31. @Override
    32. public void run() {
    33. while (isRun) {
    34. //dosomething
    35. try {
    36. wait();   //同样适用于sleep等状态
    37. } catch (InterruptedException e) {
    38. //catch Exception
    39. }
    40. }
    41. }
    42. public void close() {
    43. this.isRun = false;
    44. }
    45. }

最新文章

  1. Python之路【第五篇】:面向对象编程
  2. C#4.0 特性
  3. PHPCMS-V9 获取一级栏目、二级栏目、三级栏目
  4. 主机与虚拟机通信:以主机VS2010连接虚拟机MySql为例
  5. 优之星S900平板电脑root方法
  6. 文件格式PDF
  7. MyEclipse的快捷使用(含关联源码和Doc的方式)
  8. ASP.NET MVC Razor视图(2)
  9. windows通过Composer安装yii2
  10. Mysql主从配置+读写分离(转)
  11. c++, class的大小
  12. 第一题 (Map)利用Map,完成下面的功能:
  13. nginx之fastcgi
  14. 用C写一个web服务器(二) I/O多路复用之epoll
  15. 快速排序(Quicksort)的Javascript实现
  16. MySQL ID排序乱了的解决办法
  17. 移动端click事件300ms延迟
  18. oracle自治事务(PRAGMA AUTONOMOUS_TRANSACTION)
  19. leetcode python 004
  20. PAT甲题题解-1091. Acute Stroke (30)-BFS

热门文章

  1. Linux Shell列出网络中所有的活跃主机
  2. Ubuntu 16.04 RabbitMq 安装与运行
  3. laravel 自带消息notification通知
  4. 部署 --- Nginx
  5. Ubuntu 18.04 更换阿里源
  6. 【ARM-Linux开发】Linux链接 -ln
  7. 理解clientX、clientY、offsetLeft、event.offsetTop、offsetWidth、offsetHeight、clientWidth、clientHeight、scrollTop、scrollHeight
  8. Mysql性能优化之---(一)
  9. jquery清除元素的点击事件
  10. Linux 工作管理 (job control)