首页 > 其他分享 >2023.2.20

2023.2.20

时间:2023-02-20 23:13:10浏览次数:34  
标签:00 定时器 20 对象 2023.2 线程 notify wait

死锁

  • 不出现Exception,不出现error,程序一直僵持
  • synchronized最好不要嵌套使用,容易发生死锁,且不容易调试

开发中如何解决线程安全问题

  • 尽量使用局部变量来代替实例变量和静态变量
  • 如果必须使用实例变量,通过创建多个对象让实例变量的内存不共享(对象不共享,就不存在数据安全问题)
  • 如果不能使用局部变量,对象也不能创建多个,就只能使用synchronized关键字,即线程同步机制

Thread

守护线程(后台线程)

  • 一般守护线程是一个死循环,所有用户线程结束,守护线程自动结束(比如gc(垃圾回收器))
  • 守护线程使用场所
    1. 每天00:00的时候系统数据自动备份。
      这个时候需要使用定时器,并将定时器设置为守护线程,每到00:00系统自动备份。

用户线程

定时器

  • 间隔特定的时间,执行特定的程序。
  1. 使用sleep(),睡眠,设置睡眠时间,每到这个时间点醒来,执行任务(最原始的定时器)
  2. java类库中已经写好的定时器:java.util.Timer ,可以直接使用,实际开发中很少用,很多高级框架都支持自己的定时任务
  3. 实际开发中,使用较多的是Spring框架中的SpringTask框架,只需要简单配置,就可以完成定时器的任务。

Object类中的 wait() 和 notify()

  • wait() 和notify() 不是线程的方法,是java对象的方法
Object o = new Object();
	o.wait();
	o.notify();
  • wait()的作用
    让正在o对象上活动的线程进入等待状态,无期限等待直到被唤醒。并且释放O对象的锁
  • notify()的作用
    让正在o对象上等待的线程唤醒。只会通知,不会释放o对象的锁
  • notifyAll()
    让正在o对象上处于等待的所有线程唤醒

Path

标签:00,定时器,20,对象,2023.2,线程,notify,wait
From: https://www.cnblogs.com/hytoor/p/17139339.html

相关文章

  • 2022.2.20学习总结
    今天老师花了三节课多,也算得上是给我们打了一针鸡血,也明确的指明了我们下个阶段的学习目标,我是一个十分清楚自己想要得到什么,当下该做一些什么的人,我也找到了我下一个阶段......
  • P8292 [省选联考 2022] 卡牌
    我决定不整什么写过的题的集合了,写不过来。想到啥题好就写啥。这题是个很好的套路。考虑到值域不怎么大,想到根号分治。也就是小于根号的质数不超过\(14\)个,大于根号的......
  • 2.20日博客
    1.今天根据要求要完成信息的增加和查看,代码修改后没有报错但是一直404,完不成要交的任务。2.今天课上用游泳训练做比喻讲述了软件工程专业的学习应该是怎样的。3.通过网上......
  • 2023.2.20 日寄
    2023.2.20日寄一言人生很吊诡的地方在于,你往往最动心的那个时刻,都是在你还没有准备好的时候遇到。当你准备好一切,却很难再找回自己当初动心的瞬间。——花希模拟赛......
  • 2023/02/20刷题
    B.EffectiveApproach链接B.EffectiveApproach用一个st数组记录每一个数据读入的下标,如果是正序寻找就是这个下标,如果是逆序寻找就是n减去这个下标,然后每种情况用......
  • 每日总结 --2023/2/20日
    周一上午课程:工程数学 下午课程:软件工程晚上课程:数学建模学习内容:工程数学:梯度,方向导数软件工程:总体学习方向,方法数学建模:基础数学建模问题代......
  • 2023年2月20日总结
    今天测试主要遇到的问题是jsp之间的传值。HTML界面已全部完成,并测试可以完美显示。数据库表格创建成功,数据可以存储到数据库中。但因为jsp传值的问题,浏览功能无法实现。所......
  • 【YBT2023寒假Day10 C】娄居吉勾(点分树)
    娄居吉勾题目链接:YBT2023寒假Day10C题目大意有一个n个点m条边的无向连通图,每个点至多在k个简单环上。然后有q个操作,标记一个没有标记过的点,或者给你一个点求......
  • 每日总结-23.2.20
    今日软件工程课上明确了每日写总结的目标,之后每周一到周五的软件学习进度都要写总结。今日留下了关于android开发app的作业——每日打卡app。课下我在b站找......
  • 2023.3.20总结
    今日软件工程课上,建明老师给我们讲解了很多关于软件工程相关知识,以及什么是“做中学”,以及如何做中学,还有如何学好软件工程布置了完成关于Android下app的制作......