-
Thread.interrupt()不会停止线程,不会使中断状态改变 后加this.isInterrupted()检验,可使线程结束 不应使用sleep,join;中断状态被清除查看全部
-
long time=System.currentTimeMillis(); while ((System.currentTimeMillis()-time<1000)){ } 相当于Thread.sleep(1000);查看全部
-
java api ctrl+F 调出搜索查看全部
-
正确停止线程 使用退出标志 keeprunning查看全部
-
方法上有横线 旧方法,不提倡使用查看全部
-
不能用stop停止线程查看全部
-
进程是线程的集合查看全部
-
进程:程序的执行 持有资源和线程查看全部
-
进程 程序的执行过程 持有资源和线程 资源就是内存 可以共享内存,共享文件 线程与进程是字母关系 一个进程可以有多个线程 线程就是一个正在运行应用程序中的某一项任务或方法 线程之间可以 互斥 同步 互斥 当多个线程访问同一个资源的时候 只要有一个线程正在访问中其它的线程就需要等待查看全部
-
interrupt初衷并不是停止我们的线程。 查询JAVA API文档 在java.lang包下,找到Thread,Ctrl+F找到interrupt(),找到三个。 interrupt() 中断线程 interrupted() 测试当前线程是否已经中断,注意这个方法是静态方法。 isInterrupted() 测试线程是否已经中断。后者两个方法返回的值都是布尔值。 在API中我们看到:如果线程在调用 Object 类的 wait() 、wait(long) 或 wait(long, int) 方法,或者该类的 join() 、join(long) 、join(long, int) 、sleep(long) 或 sleep(long, int) 方法过程中受阻,则其中断状态将被清除,它还将收到一个 InterruptedException 。 在这里首先我们看到API中interrupt()方法中断线程是有条件的,在API中提示如果以前的条件都没有保存,才会将该线程的中断状态设置。此时调用后面的interrupted()或者isInterrupted()将返回一个布尔值的变量true来表示线程被中断。 如果使用了join方法或者sleep方法使得线程阻塞中断的情况下,使用interrupet会使得线程的中断状态被清除,并且当前的线程将会收到一个InterruptedException,这代表如后面再调用interrupted或者isInterrupted方法将不会得到一个正确的值。这就是为什么我们在使用join方法或者sleep方法需要用try-catch语句包围来捕获这个InterruptedException异常的原因。在使用join或者sleep方法时,一旦其它或当前线程调用了interrupted()方法,它将会收到一个异常。这些被阻塞的线程因为某些原因需要被唤醒,比如外部发生了中断,它需要响应,这时它就通过抛出异常的方式来使我们有机会做出一些响应。所以interrupt并不能正确的停止我们的线程。查看全部
-
一、错误一:stop()方法 1、not stop:stop()方法会使线程戛然而止 2、使程序突然中止,无法完成完整的业务步骤,也无法进行清理工作 二、错误二:interrupt()方法 1、interrupt()方法只能设置interrupt标志位(且在线程阻塞情况下,标志位会被清除,更无法设置中断标志位),无法停止线程 三、正确方法:设置退出标志 1、使用退出标志位来停止while循环 2、完成最后一次业务后跳出while循环后,之后进行一些清理工作 [ 收起全文 ]查看全部
-
线程的创建:Thread() Thread(String name) Thread(Runnable target) Thread(Runnable target,String name) 线程的方法: void start()启动线程 static void sleep(long millis) static void sleep(long millis,int nanos)线程休眠 void join() void join(long millis) void join(long millis ,int nanos) 使其他线程等待当前线程终止 static void yield() 当前运行线程释放处理器资源 获取线程的引用static Thread currentThread() 返回当前运行的线程引用查看全部
-
进程(任务)的执行过程 动态性 持有资源(共享内存,共享文件)和线程查看全部
-
Thread常用方法查看全部
-
Thread常用方法查看全部
举报
0/150
提交
取消