Semaphore 被丢弃的线程,是如何处理的?

来源:6-3 J.U.C之AQS-Semaphore

梨多情

2020-04-12

【问题】【TODO】

被丢弃的线程怎么办?

是通知 gc 回收(虽然实际回收的时机是不可预测的),还是?

如果是复杂/耗时/耗资源的逻辑,要考虑到资源的回收效率。


写回答

2回答

天道酬勤ksl

2020-04-12

坐等老师讲解

1
0

Jimin

2020-04-13

你好,感觉课程没太认真听啊,这里可以选择使用acquire一直等待获取许可,也可以使用tryacquire同步尝试获取许可,这两个对线程的处理影响很大,一个是一直等待直到拿到许可为止,另一个是实时返回的,根据正常逻辑处理即可,抛异常还是使用其他逻辑都是ok的,这个可以自己设计。

0
2
Jimin
要么同时获取多个许可,要么一个许可拿不到
2020-04-16
共2条回复

Java高并发编程,构建并发知识体系,提升面试成功率

构建完整并发与高并发知识体系,倍增高薪面试成功率!

3923 学习 · 832 问题

查看课程