![](https://img-blog.csdnimg.cn/c8bd90da19794446aced43525c84cde6.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java基础编程
文章平均质量分 54
Java基础编程
华夏第一帅神
程序员的一生时间90%是用在编程上,而剩余的10%是活在世界上。
展开
-
【Java】 Java CompleteFuture 分析
可以使用CompletableFuture.supplyAsync()或CompletableFuture.runAsync()方法来创建CompleteFuture。supplyAsync()方法用于异步计算一个结果,runAsync()方法用于异步执行一个操作。CompleteFuture是Future的扩展版本,它提供了更灵活和更强大的方法来处理异步操作的结果。CompleteFuture还提供了一些方法来处理异常和其他状态,以及一些方法来合并多个CompleteFuture实例。原创 2023-10-10 13:24:30 · 423 阅读 · 0 评论 -
【Java】 Java AQS 分析
AQS的具体实现中,定义了两条队列:一个用于记录等待获取锁的线程,另一个用于记录已经获取锁的线程。独占节点只能被一个线程获取锁,而共享节点可以被多个线程同时获取锁。在获取锁的过程中,会先尝试获取独占节点,如果独占节点已经被其他线程获取,则获取共享节点,如果共享节点也被占用,则加入等待队列继续等待。AQS另外一个关键的类是Node,它是一个FIFO队列中的一个节点,用于记录等待线程的状态,并维护一个双向链表的结构。当一个线程需要获取同步器的锁时,会创建一个Node,并将其加入到等待队列中,等待锁的释放。原创 2023-10-10 13:27:15 · 53 阅读 · 0 评论