- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 CAS方式来尝试获取锁
总结来说,CAS(Compare and Swap)方式是一种基于原子操作的乐观锁技术,用于解决并发环境下的数据竞争问题。在锁的获取中,CAS 方式常用于实现自旋锁,即线程不断重试获取锁,而不是进入阻塞状态。如果多个线程同时执行 CAS 操作,只有一个线程能够成功,其他线程会根据操作的结果进行重试。如果更新失败,说明锁已被其他线程占用,会继续自旋等待,直到成功获取到锁。在锁的获取中,CAS 方式常常被用于实现自旋锁,即线程在没有获取到锁时,会不断地重试获取锁,而不是进入阻塞状态。作为标识,表示锁的状态。
2023-06-27 20:53:11 295
原创 为什么wait, notify 和 notifyAll这些方法不在thread类里面?
线程可以在对象上等待(通过wait()方法),并且其他线程可以通知等待中的线程(通过notify()或notifyAll()方法)。因此,通过将wait()、notify()和notifyAll()方法定义在Object类中,Java提供了一种通用且灵活的方式来实现线程之间的协作与通信。在Java中,wait()、notify()和notifyAll()方法是用于线程之间的协调与通信的机制,它们不在Thread类中,而是在所有对象的基类Object中定义。
2023-06-27 19:52:12 721
原创 使用interrupt方法中断线程
在Java编程语言中,可以使用Thread类的interrupt()方法中断线程的执行。在上面的示例中,MyThread类继承自Thread类,并在run()方法中执行线程的任务。通过检查isInterrupted()方法来判断线程的中断状态,并在适当的时候终止执行。请注意,中断线程只是一种协作机制,线程在执行期间需要通过检查中断状态来决定是否终止。因此,您需要根据具体的线程逻辑来判断何时中断线程的执行。请根据您使用的编程语言和线程模型选择相应的中断机制,并根据具体情况使用相应的方法来中断线程。
2023-06-27 19:33:27 192
原创 ZooKeeper 学习笔记
ZooKeeper 是一个可靠的、高效的分布式协调服务,它可以用于解决分布式系统中的一些常见问题,如分布式锁、集群领导选举、配置管理等。在使用 ZooKeeper 时需要注意以下几点:ZooKeeper 的数据模型是基于树形结构的,可以使用路径进行访问和操作。ZooKeeper 提供了多种类型的节点,包括持久节点、临时节点、有序节点等,可以根据需求进行选择。ZooKeeper 提供了事件通知机制,可以通过监听节点的变化来获取数据。
2023-04-28 19:00:23 129 1
原创 Redis学习笔记
本文介绍了Redis的基本概念、数据结构、常用命令以及高级特性,包括事务、Lua脚本、发布-订阅、持久化和分布式锁等。同时还提供了一些Java代码示例,以帮助读者更好地理解Redis的使用方法。Redis作为一款高性能、高可靠、高扩展性的NoSQL数据库,在互联网应用开发中有着广泛的应用。掌握Redis的基本知识和技能,对于Java程序员来说是非常重要的一项技能。
2023-04-25 21:53:41 124 1
原创 Dubbo 学习笔记
Dubbo是一款高性能、可扩展、可靠性强的分布式服务框架,可以帮助开发人员构建高性能、高可靠性的分布式应用。在使用Dubbo时,需要先了解其核心概念和机制,然后再根据具体的业务场景进行配置和使用。
2023-04-25 21:25:24 237 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人