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
相关文档:
在做过一年多的RXTX操作串口项目有现在把一些平时遇到的问题在这里写写:
RXTX是一个开源包,主要是在COMM开源包中做扩张,以前的COMM包只能在WINDOWS下面对串口或并口做操作,扩充后的RXTX可以在LINUX和MAC下对串口和并口做操作。 现在跨平台:
在RXTX网站下载JAR包和动态库
http://users.frii.com/jarvi/rxtx ......
c# java 区别
C#与JAVA的相同之处:由于C#与JAVA都是基于C++发展起来的,因此二者之间具有很多相似之处,具体如下:
1、C#和JAVA语言的编译结果是独立于计算机和编程语言的,可执行文件可以在受管理的执行
环境中执行;
2、C#和JAVA语言都是采用了自动的垃圾回收机制;
3、C#和JAVA语言都取消了指针操作;
4、C ......
今天工作的任务要写一些跟开源协议相关的约定说明,所以在网上搜索了一些资料以供参考,下面列出了几个比较常见的开源协议,如果想要了解其他的协议
和详细了解这些协议,我个人推荐这个网址:http://www.opensource.org/licenses/
Mozilla Public License
MPL License,允许免费重发布、免费修改,但要求修改后 ......
JAVA中用于处理字符串的“三兄弟”
JAVA中用于处理字符串常用的有三个类:java.lang.String、java.lang.StringBuffer、java.lang.StringBuilder,这三者的共同之处都是final类,不允许被继承,这主要是从性能和安全性上考虑的,因为这几个类都是经常被使用着的,且考虑到防止其中的参数被修改影响到其它的应用。 ......
最近一直在使用Java,感觉它的越界检查非常有效。这一点对于初学者来说是非常重要的(提高程序的严谨性),对于有经验的程序员来说也很有帮助。Java中有一个很有效的ArrayList类(读者可以结合Java API
来学习它),。它和一般的数组不一样,不需要提前分配固定的空间(使用比较灵活),每次使用的时候可以添加 ......