Timer 的缺陷:
1 并发操作时的缺陷,这是因为 Timer 的后台只有一个执行线程导致的。
2 当任务抛出异常时的缺陷。如果 TimeTask 抛出 RuntimeException,Timer 会停止所有任务的执行。
根据缺陷,我们可以得出 Timer 的使用禁区。
1 对时效性要求较高的多任务并发作业,虽然 Timer 支持多任务执行,但那都是串行执行的。
2 对复杂的任务的调度,因为在复杂的任务中可能会出现异常,而Timer 中一旦出现异常,则停止执行。
Timer的缺陷
1、管理并发任务的缺陷:Timer有且仅有一条后台的线程,对定时任务定时定频率的调用,对于多任务来说并不支持任务与任务之间的并发。
例如:
2、任务抛出异常的缺陷:它对runtimeexception的支持不是很好。
举例:
Timer 的缺陷:
1 并发操作时的缺陷,这是因为 Timer 的后台只有一个执行线程导致的。
2 当任务抛出异常时的缺陷。如果 TimeTask 抛出 RuntimeException,Timer 会停止所有任务的执行。
根据缺陷,我们可以得出 Timer 的使用禁区。
1 对时效性要求较高的多任务并发作业,虽然 Timer 支持多任务执行,但那都是串行执行的。
2 对复杂的任务的调度,因为在复杂的任务中可能会出现异常,而Timer 中一旦出现异常,则停止执行。
1.管理并发任务的缺陷:
每次有且仅有一个线程去执行定时任务,如存在多任务会导致任务时间过长(串行)
2.当任务抛出异常时的缺陷:
当抛出RuntimeException(如果不捕捉异常),会停止所有任务
3.在以下情况禁止使用
对时效性要求较高的多任务并发作业
对复杂的任务的调度
使用禁区。
缺陷2.。
缺陷1.。因为只有一个线程执行任务