JAVA线程之四:线程状态检查,后台线程及线程组
一,线程状态的检查
一般情况下无法确定一个线程的运行状态,对于这些处于未知状态的线程,可以通过isAlive()方法用来确定一个线程是否仍处在活动状态。当然即使处于活动状态的线程也并不意味着这个线程一定正在运行,对于一个已开始运行但还没有完成任务的线程,这个方法返回值为true。
二,后台线程
后台线程,即Daemon线程,它是一个在背景执行服务的线程,例如操作系统中的隐藏线程,Java中的垃圾自动回收线程等。如果所有的非后台线程结束了,则后台线程也会自动终止。例如一个主函数main()就是一个非后台线程。
可以使用Thread类中的setDaemon()方法来设置一个线程为后台线程,但是有一点值得注意:必须在线程启动之前调用setDaemon()方法,这样才能将这个线程设置为后台线程。当设置完成一个后台线程后,可以使用Thread类中的isDaemon()方法来判断线程是否是后台线程。
例如:
public class DaemonThread extends Thread
{
public DaemonThread()
{
setDaemon(true); //在线程启动之前设置后台线程
start(); //启动线程
}
public static void main(String[] args)
{
Thread thread=new DaemonThread(); //实例化Th
相关文档:
JAVA中用于处理字符串常用的有三个类:java.lang.String、java.lang.StringBuffer、java.lang.StringBuilder,这三者的共同之处都是final类,不允许被继承,这主要是从性能和安全性上考虑的,因为这几个类都是经常被使用着的,且考虑到防止其中的参数被修改影响到其它的应用。StringBuffer与Strin ......
JAVA中用于处理字符串的“三兄弟”
JAVA中用于处理字符串常用的有三个类:java.lang.String、java.lang.StringBuffer、java.lang.StringBuilder,这三者的共同之处都是final类,不允许被继承,这主要是从性能和安全性上考虑的,因为这几个类都是经常被使用着的,且考虑到防止其中的参数被修改影响到其它的应用。 ......
今天工作的任务要写一些跟开源协议相关的约定说明,所以在网上搜索了一些资料以供参考,下面列出了几个比较常见的开源协议,如果想要了解其他的协议
和详细了解这些协议,我个人推荐这个网址:http://www.opensource.org/licenses/
Mozilla Public License
MPL License,允许免费重发布、免费修改,但要求修改后 ......
1,概述:线程的挂起操作实质上就是使线程进入“非可执行”状态下,在这个状态下CPU不会分给线程时间片,进入这个状态可以用来暂停一个线程的运行;在线程挂起后,可以通过重新唤醒线程来使之恢复运行。当一个线程进入“非可执行”状态,即挂起状态时,必然存在某种原因使其不能继续运行,这些原因可能 ......