一个通用的 Swift 对象池实现,可在 macOS 和 Linux 上运行。
import PackageDescription
let package = Package(
name: "YourProject",
products: [
.executable(name: "YourProject", targets: ["YourProject"])
],
dependencies: [
.package(url: "https://github.com/reswifq/pool.git", .upToNextMajor(from: "1.3.0"))
],
targets: [
.target(name: "YourProject", dependencies: ["Pool"])
]
)
let pool = Pool(maxElementCount: 10) {
return "I am a pool element"
}
let element = try pool.draw()
print(element) // "I am a pool element"
pool.release(element)
pool.release(element) {
print("element has been released and it's ready to be drawn again")
}
此软件包已在 macOS 和 Ubuntu 上进行了测试。
由 Valerio Mazzeo 创建。
版权所有 © 2017 VMLabs Limited。保留所有权利。
本程序是自由软件:您可以重新发布和/或根据自由软件基金会发布的 GNU Lesser General Public License 条款修改它,无论是许可证的第 3 版,还是(由您选择)任何后续版本。
本程序的发布是为了希望它是有用的,但不提供任何担保;甚至没有对适销性或针对特定用途的适用性的暗示担保。
有关更多详细信息,请参阅 GNU Lesser General Public License。