java多线程编程要点(二)
4、 Timer和TimerTask的使用
Timer是一种定时器工具,用来在一个后台线程计划执行指定任务,这些任务可以被执行一次,也可以被定期执行。每个 Timer 对象对应一个后台线程,顺序地执行所有计时器任务。如果完成某个计时器任务的时间太长,那么它会“独占”计时器的任务执行线程,从而可能延迟后续任务的执行。对 Timer 对象最后的引用完成并且所有未处理的任务都已执行完成后,计时器的任务执行线程会正常终止(并且成为垃圾回收的对象)。TimerTask是一个抽象类,实现了Runable接口,它的子类代表一个可以被Timer计划的任务。csdn上另外一篇博文:http://blog.csdn.net/siyue_qi/archive/2008/05/22/2469316.aspx,比较详细的阐述了Timer和TimerTask的使用。
1) 一个简单的Demo,让大家对Timer、TimerTask的使用有感性的认识。
import java.io.IOException;
import java.util.Timer;
public class TimerTest {
public static void main(String[] args)...{
Timer timer = new Timer();
timer.schedule(new MyTask(), 1000, 2000);//在1秒后执行此任务,每次间隔2秒
while(true){//这个是用来停止此任务的,否则就一直循环执行此任务了
try {
int ch = System.in.read();
if(ch-'c'==0){
timer.cancel();//使用这个方法退出任务
}
} catch (IOException e) {
// TODO Auto-generated catch block
&n
相关文档:
可以用做csdn备份,这个方法扩充以后做个csdn备份工具倒是不错
package com.tag;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import ja ......
BorderLayout
FlowLayout
GridLayout
GridBagLayout
CardLayout
BoxLayout
< type="text/javascript">
document.body.oncopy = function() {
if (window.clipboardData) {
......
想步入JAVA的世界,看书学?
此路不通。
先看C的知识点是否懂了,再看下一个:隆重推出——郝彬老师的视频。
什么叫由浅入深?这就叫!
不好意思,家乡的土话!
有人说过:“门槛是最高的山!”。这话太对了。而郝彬老师的视频,则绝对是把门槛变平的绝佳利器!
WWW。ITCAST。NET ......
此个类是为了方便初学者对XML到 javabean 的相互转换不熟悉而写的:
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
public class XmlBean {
/*
* @AUTHOR:ZHONG
* @CREATETIME:2010/02/10
* @PREAM:OBJECT(JAVABEAN)
* @RETURN:X ......
根据约定,在使用java编程的时候应尽可能的使用现有的类库,当然你也可以自己编写一个排序的方法,或者框架,但是有几个人能写得比JDK里的还要好 呢?使用现有的类的另一个好处是代码易于阅读和维护,这篇文章主要讲的是如何使用现有的类库对数组和各种Collection容器进行排序,(文章中的一 部分例子来自《Java Devel ......