| 100 | /// (which typically means that the thread pool has already been shut down). |
| 101 | template <typename V> |
| 102 | bool Offer(V&& work) { |
| 103 | DCHECK(initialized_); |
| 104 | return work_queue_.BlockingPut(std::forward<V>(work)); |
| 105 | } |
| 106 | |
| 107 | /// Blocks until the work item is placed on the queue or the timeout expires. The |
| 108 | /// ThreadPool must be initialized before calling this method. The same requirements |