9.20
1.定时器:
定时器的作用:间隔特定的时间,执行特定的程序(比如每天要进行数据的备份操作)
有多种实现方法
第一种:可以使用sleep方法,睡眠,设置睡眠时间,每到这个时间点醒来,执行任务,这种方式是最原始的定时器,比较low
第二种:在java的类库中已经写好了一个定时器:java.util.Timer,可以直接拿来用,不过,这种方式在目前的开发中很少用,因为有很多高级框架都是支持定时任务的
第三种:在实际的开发中,目前使用较多的是Spring框架中提供的SpringTask框架,这个框架只要进行简单的配置,就可以完成定时器的任务
2.//创建定时器对象
Timer timer=new Timer();
timer.schedule(定时任务,第一次执行时间,间隔多久执行)
3.第三种实现线程的方式:实现Callable接口
优点;可以获取到线程的执行结果
缺点:效率比较低,在获取t线程的执行结果时,当前线程受阻塞,效率较低
4.关于Object类种的wait和notify方法(生产者和消费者模式)
第一:wait和notify方法不是线程对象的方法,是java中任何一个Java对象都有的方法,因为这两个方法是Object类中自带的
wait方法和notify方法不是通过线程对象调用的
不是这样的:t.wait()也不是t.notify()
第二:wait()方法作用:
Object o=new Object()
o.wait();
表示:让正在o对象上活动的线程进入等待状态,无期限等待,直到被唤醒为止
o.wait()方法的调用,会让”当前线程(正在o对象上活动的线程)“进入等待状态
第三notift()方法作用