Active Record 连接池队列¶ ↑
线程安全、公平、后进先出 (LIFO) 的队列。 intended to be used by ConnectionPool with which it shares a Monitor。
方法
    - A
- C
- D
- N
- P
- S
类公共方法
new(lock = Monitor.new) Link
实例公共方法
add(element) Link
将 element 添加到队列中。 绝不阻塞。
add_back(element) Link
将 element 添加到队列的末尾。 绝不阻塞。
any_waiting?() Link
测试当前是否有线程在等待队列。
clear() Link
从队列中删除所有元素。
delete(element) Link
如果 element 在队列中,则删除并返回它,否则返回 nil。
num_waiting() Link
返回当前在此队列上等待的线程数。
poll(timeout = nil) Link
删除队列的头部元素。
如果 timeout 未提供,则在可用元素数量严格大于当前等待线程数量时(即不插队),删除并返回队列的头部元素。否则,返回 nil。
如果提供了 timeout,当没有可用元素时,将阻塞,最多等待 timeout 秒,直到有元素可用。
引发
- 
ActiveRecord::ConnectionTimeoutError如果提供了timeout且在timeout秒内没有元素
可用,则抛出此异常。