Java定时器与多线程,synchronized关键字的使用

本文介绍了Java中的定时器Timer类,用于间隔执行任务,强调其线程安全特性。接着讲解了线程的概念,包括线程的生命周期、分类、创建方式以及线程的终止。重点讨论了synchronized关键字,解析了同步编程模型,阐述了在实例方法、静态方法及代码块上的三种用法,旨在解决多线程环境下共享数据的安全问题。
摘要由CSDN通过智能技术生成

1、定时器

定时器起到间隔特定的时间执行某个程序的功能。java中的定时器Timer类位于java.util包下,线程用其安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。定时器类Timer是线程安全的,多个线程可以共享单个Timer对象而无需进行外部同步,并且该类可以扩展到同时大量安排多个任务,与每个Timer对象相对应的是单个后台线程,用于顺序地执行所有计时器任务,如果完成某个计时器任务的时间太长,那么它会“独占”计时器的任务执行线程。

当所有未处理的任务都已执行完毕后,计时器的任务执行线程会正常终止,并且成为垃圾回收的对象。但是这可能要很长时间后才发生。默认情况下,任务执行线程并不作为守护线程来运行,所以它能够阻止应用程序终止。如果调用者想要快速终止计时器的任务执行线程,那么调用者应该调用计时器的 cancel 方法。如果意外终止了计时器的任务执行线程,例如调用了它的 stop 方法,那么所有以后对该计时器安排任务的尝试都将导致 IllegalStateException,就好像调用了计时器的 cancel 方法一样。

每隔指定时间执行一段程序的实行方法:
	1、使用sleep方法,使线程睡眠,每到指定的时间醒来执行任务。(原始定时器)
	2、使用java写好的定时器类java.util.Timer。

2、线程

2.1 线程概述

线程是一个进程中的执行场景或执行单元,进程是一个应用程序。Java 虚拟机允许应用程序并发地运行多个执行线程。每个线程都有一个优先级,高优先级线程的执行优先于低优先级线程。每个线程都可以或不可以标记为

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值