标签:停止 nbsp 共享变量 程序 方法 线程共享数据 logs 对象 false
<1>什么是线程
一个程序同时执行多个任务,每个任务称为一个线程(thread),它是线程控制的简称。可以同时运行一个以上线程的程序称为多线程程序(nultithreaded)。
<2>多进程与多线程有哪些区别
本质的区别在于每个进程拥有自己的一整套变量,而线程共享数据。共享变量使线程之间的通信比进程之间的通信更有效、更容易。
Thread方法
向线程发送中断请求。线程的中断状态将被设置为true.如果目前该线程被一个sleep调用阻塞,那么,InterruptedException异常被抛出。
测试当前线程(即正在执行这一命令的线程)是否被 中断。注意,这是一个静态方法。这一调用会产生副作用----它将当前线程的中断状态重置为false.
测试线程是否被终止。不像静态的中断方法,这一调用不改变线程的中断状态。
返回当前执行线程的Thread对象
<3>线程的状态 (6种)
当用new操作符创建一个新线程时,如new Thread(r),该线程还没有开始运行。这意味着它的状态是new.
一旦调用start方法,线程处于runnable状态。一个可运行的线程可能正在运行也可能没有运行,这取决于操作系统给线程提供运行的时间。(一个可运行的线程可能正在运行也可能没有运行)
当线程处于被阻塞或等待状态时,它暂时不活动。它不运行任何代码且消耗最少的资源。直到线程调试器重新激活它。
(1)当一个线程试图获取一个内部的对象锁,而该锁被其它线程持有,则该线程进入阻塞状态。当所有其它线程释放该锁,并且线程调度器允许本线程持有它的时候,该线程将变成非阻塞状态。
(2)当线程等待另一个线程通知调度器一个条件时,它自己进入等待状态。在调用Object.wait方法或Thread.join方法,或者是等待java.util.concurrent库中的Lock或Condition时,就会出现这种情况。
有几个方法有一个超时参数。调用它们导致线程进入计时等待(time waiting)状态。这一状态将一直保持到超时期满或者接收到适当的通知。带有超时参数的方法有Thread.sleep和Object.wait、Thread.join、Lock.tryLock以及Condition.await的计时版。
线程因如下两个原因之一而被终止:
(1)因为run方法正常退出而自然死亡。
(2)因为一个没有捕获的异常终止了run方法而意外死亡。
Java.lang.Thread
等待终止指定的线程
等待指定线程死亡或者经过指定的毫秒数。
得到这一线程的状态;New、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING或TERMINATED之一。
停止该线程。(过时)
暂停这一线程的执行(过时)
恢复线程。这一方法仅仅在调用suspend()之后调用。(过时)
标签:停止 nbsp 共享变量 程序 方法 线程共享数据 logs 对象 false
原文地址:http://www.cnblogs.com/gousheng107/p/7871835.html