java笔记线程方式1线程终端与停止

public final void stop():让线程停止,过时了,但是还可以使用。
public void interrupt():中断线程。 把线程的状态终止,并抛出一个InterruptedException。

 1 public class ThreadStopDemo {
 2     public static void main(String[] args) {
 3         ThreadStop ts = new ThreadStop();
 4         ts.start();
 5
 6         // 你超过三秒不醒过来,我就干死你
 7         try {
 8             Thread.sleep(3000);
 9             // ts.stop();
10             ts.interrupt();
11         } catch (InterruptedException e) {
12             e.printStackTrace();
13         }
14     }
15 }
16 public class ThreadStop extends Thread {
17     @Override
18     public void run() {
19         System.out.println("开始执行:" + new Date());
20
21         // 我要休息10秒钟,亲,不要打扰我哦
22         try {
23             Thread.sleep(10000);
24         } catch (InterruptedException e) {
25             // e.printStackTrace();
26             System.out.println("线程被终止了");
27         }
28
29         System.out.println("结束执行:" + new Date());
30     }
31 }
时间: 2025-01-13 01:16:10

java笔记线程方式1线程终端与停止的相关文章

java笔记--用ThreadLocal管理线程,Callable<V>接口实现有返回值的线程

用ThreadLocal管理线程,Callable<V>接口实现有返回值的线程 ThreadLocal在我的笔记"关于线程同步"的第5种方式里面有介绍,这里就不多说了. --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3899890.html  "谢谢-- Callable<V>接口类似于Runnable,两者都是为了哪些其实例可能被另一个线程执行的类设计的, 但是Runnable不会返回

java笔记--使用事件分配线程更新Swing控件

使用事件分配线程更新Swing控件: Swing并不是线程安全的,如果在多个线程中更新Swing控件,则很可能造成程序崩溃. 为了避免这种问题,可以使用时间分配线程来更新Swing控件. EventQueue 是一个与平台无关的类,它将来自于底层同位体类和受信任的应用程序类的事件列入队列. 它封装了异步事件指派机制,该机制从队列中提取事件,然后通过对EventQueue调用dispatchEvent(AWTEvent) 方法来指派这些事件(事件作为参数被指派).该机制的特殊行为是与实现有关的.为

Java 线程--继承java.lang.Thread类实现线程

现实生活中的很多事情是同时进行的,Java中为了模拟这种状态,引入了线程机制.先来看线程的基本概念. 线程是指进程中的一个执行场景,也就是执行流程,进程和线程的区别: 1.每个进程是一个应用程序,都有独立的内存空间. 2.同一个进程中的线程共享其进程中的内存和资源. (共享的内存是堆内存和方法区内存,栈内存不共享,每个线程有自己的栈内存) 我们还需要了解以下基本内容: 1.什么是进程? 一个进程对应一个应用程序.例如:在Windows操作系统启动word就表示启动了一个进程.在Java开发环境下

java笔记--使用线程池优化多线程编程

使用线程池优化多线程编程 认识线程池 在Java中,所有的对象都是需要通过new操作符来创建的,如果创建大量短生命周期的对象,将会使得整个程序的性能非常的低下.这种时候就需要用到了池的技术,比如数据库连接池,线程池等. 在java1.5之后,java自带了线程池,在util包下新增了concurrent包,这个包主要作用就是介绍java线程和线程池如何使用的. 在包java.util.concurrent下的 Executors类中定义了Executor.ExecutorService.Sche

Java并发编程学习笔记(一)线程安全性 1

什么是线程安全性: 要编写线程安全的代码,其核心在于要对状态访问操作进行管理,特别是对共享的和可变的状态的访问."共享"意味着变量可以由多个线程同时访问,而"可变"则意味着变量的值在其生命周期内可以发生变化. 一个对象是否需要线程安全的,取决于他是否被多个线程访问.这指的是在程序中访问对象的方式,而不是对象要实现的功能.要使得对象时线程安全的,需要采用同步机制来协同对对象可变状态的访问.如果无法实现协同,那么可能导致数据破坏以及其他不该出现的结果. 如果当多个线程访

java笔记--线程的插队行为

对线程的插队行为的理解 在编写多线程时,会遇到让一个线程优先于其他线程运行的情况,此时除了可以设置其优先级高于其他线程外,更直接的方式是使用Thread类的join()方法 --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3893797.html"谢谢-- 使用join()方法,可实现"插队"效果.当插队的线程运行结束后,其他线程将继续执行.join()方法是Thread类的一个静态方法,它有三种形式: join

11.4-全栈Java笔记:线程三种状态的控制

关于Java线程终止.暂停.联合的文章网上有很多,经过测试,本节重点讲解的是针对不同使用场景选择合适的方法. 终止线程的典型方式 终止线程我们一般不使用JDK提供的stop()/destroy()方法(他们本身也被JDK废弃了).通常的做法是提供一个boolean型的终止变量,当这个变量置为false,则终止线程的运行. [示例1]终止线程的典型方法(重要!!!) public class TestThreadCiycle implements   Runnable { String name;

11.11-全栈Java笔记:线程状态转换和任务定时调度

线程状态转换 1)New :创建好线程对象,但没有启动的时候. 一个线程调用start()之后不一定会马上启动,此时进入就绪状态,等待得到资源. 2)就绪线程序通过Scheduler(调度程序)去确定是否运行. 3)Runing---dead:运行结束(非双向,为单向箭头). 4)Runing---就绪:暂停(除了没有CPU,具备运行的所有条件). 5)Runing-otherwise(阻塞):因程序原因:调用sleep或join之后,线程被阻塞.这时不具备运行的条件,此时线程进入阻塞池.sle

java笔记--关于Object类与线程相关的方法

关于Object类中的线程方法 Object类是所有Java类的 父类,在该类中定义了三个与线程操作有关的方法,使得所有的Java类在创建之后就支持多线程 这三个方法是:notify(),notifyAll(),wait(),这几个方法都是用来控制线程的运行状态的. 方法列表如下: notify() : 唤醒在此对象监视器上等待的单个线程 notifyAll() : 唤醒在此对象监视器上等待的所有线程 wait() : 在其他线程时调用此对象的notify()或者notifyAll()方法前,导