线程
文章平均质量分 92
想养一只!
好好生活 慢慢相遇
展开
-
Springboot中开启多线程,实现异步非阻塞、异步阻塞、有无返回值的场景
开启多线程异步的方式有很多种,不单单局限以上方式,感兴趣的可以自行研究测试下,比如还可以使用来开启多线程,然后分别使用对应的execute()和submit()方法实现无返回值和有返回值的效果;以上内容均为个人理解,如存在不当欢迎提出改进。原创 2023-10-23 15:45:20 · 2538 阅读 · 0 评论 -
synchronized 和 volatile 关键字的作用
作用:一旦一个共享变量(类的成员变量、类的静态成员变量)被 volatile 修饰之后,那么就具备了两层语义:1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。2)禁止进行指令重排序。volatile 本质是在告诉 jvm 当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取;synchronized 则是锁定当前变...原创 2020-03-13 19:12:17 · 476 阅读 · 0 评论 -
wait()和sleep()的区别
两者区别wait()方法时object类的方法 sleep()是Thread类的方法sleep()让线程暂停一段时间,时间一到自动恢复执行,不设计线程间的通信 调用sleep()方法不会释放锁。Wait() 调用后线程会释放占用的锁,用于线程间的通信,只有其他线程调用notify()方法或者notifyall()才醒来使用域不同 wait()方法必须放在同步代码块和同步控制方法中使用...原创 2019-10-24 12:22:14 · 498 阅读 · 0 评论