在分布式锁中,我们一般为了防止死锁,在加锁时,我们会给锁一个过期时间(redis锁,或者zookeeper锁)
然后这个过期时间我们并把握不好,不知道方法什么时候执行结束,所以我们有个续期锁的策略。
而守护线程就可以做到来给锁续期;
在Java中,线程分为两种类型:用户线程(User Thread)和守护线程(Daemon Thread)。守护线程的概念如下:
1. **守护线程定义**:
守护线程是一种在后台运行的特殊线程,它通常用于为其他用户线程提供服务,比如垃圾回收、JVM内部操作等。
2. **守护线程与用户线程的区别**:
- 用户线程:执行应用程序的主要任务的线程,如果所有的用户线程都结束,程序也会终止。
- 守护线程:可以认为是为了支持用户线程而存在的,当所有的用户线程结束时,守护线程也会自动结束,即使它们还在运行。
3. **创建守护线程**:
可以通过实现 `Runnable` 接口的 `run` 方法,并在创建线程时调用 `setDaemon(true)` 来创建守护线程。 示例代码:
class DaemonThread implements Runnable {
public void run() {
// 守护线程要执行的代码
//每隔一秒给锁进行续期
}
}
public class DaemonExample {
public static void main(String[] args) {
Threa