java 分布式锁 利用守护线程给锁续期

在分布式锁中,我们一般为了防止死锁,在加锁时,我们会给锁一个过期时间(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) {
           T
posted @ 2024-08-17 22:58  在线电影制作人  阅读(19)  评论(0)    收藏  举报  来源