文件名称:resource-pool:线程安全资源池
文件大小:2.07MB
文件格式:ZIP
更新时间:2024-08-02 08:09:53
Java
设计: 针对接口 (ResourcePool) 进行编码以根据需要允许不同的实现。 open 布尔值是可变的,因此所有线程都知道对其值的任何更改。 可用和获取的资源在单独的数据结构中进行跟踪 - ConcurrentLinkedQueue。 ConcurrentLinkedQueue 提供*数据结构,因此托管资源可以根据需要增长。 ConcurrentLinkedQueue 提供高效的多线程访问。 队列数据结构提供高效的轮询和提供操作以快速添加/获取资源。 为了防止线程冲突,使用了公平的 ReentrantReadWriteLock。 公平意味着等待线程根据它们等待的时间进行优先级排序。 更重的操作,如删除和关闭使用独占写锁。 在等待删除的情况下,它必须释放写锁一段时间,同时阻塞获取的资源。 然后,获取的资源可以出于释放目的进行读取,然后允许删除进行并重新获取写锁以完成删除
【文件预览】:
resource-pool-master
----bin()
--------log4j.properties(236B)
--------com()
--------spring()
----readme.md(3KB)
----.settings()
--------org.eclipse.jdt.core.prefs(587B)
----src()
--------test()
--------main()
----.project(369B)
----.classpath(1KB)
----lib()
--------org.springframework.context-3.0.1.RELEASE.jar(642KB)
--------org.springframework.expression-3.0.1.RELEASE.jar(152KB)
--------org.springframework.asm-3.0.1.RELEASE.jar(52KB)
--------org.springframework.core-3.0.1.RELEASE.jar(347KB)
--------org.springframework.beans-3.0.1.RELEASE.jar(535KB)
--------commons-logging-1.2.jar(60KB)
--------log4j-1.2.17.jar(478KB)
--------org.springframework.context.support-3.0.1.RELEASE.jar(98KB)