Java并发编程示例(七):守护线程的创建和运行
Java有一种特殊线程,守护线程,这种线程优先级特别低,只有在同一程序中的其他线程不执行时才会执行。
由于守护线程拥有这些特性,所以,一般用为为程序中的普通线程(也称为用户线程)提供服务。它们一般会有一个无限循环,或用于等待请求服务,或用于执行任务等。它们不可以做任何重要的工作,因为我们不确定他们什么时才能分配到CPU运行时间,而且当没有其他线程执行时,它们就会自动终止。这类线程的一个典型应用就是Java的垃圾回收。
在本节示例中,我们将创建两个线程,一个是普通线程,向队列中写入事件;另外一个是守护线程,清除队列中的事件,删除存在时间超过10秒的事件。
知其然
按照如下步骤,实现示例程序。
1.创建Event类,该类仅仅用于保存程序执行所需的事件信息。声明两个属性,一个是java.util.Date类型的的date熟悉,另外一个是String类型的event属性;然后生成这两个属性的读写方法。代码如下:
publicclassEvent{ privateDatedate; privateStringevent;
publicDategetDate(){ returndate; }
publicvoidsetDate(Datedate){ this.date=date; }
publicStringgetEvent(){ returnevent; }
publicvoidsetEvent(Stringevent){ this.event=event; } }