diff --git a/src/std/pool/mod.rs b/src/std/pool/mod.rs index 814145a..40c8559 100644 --- a/src/std/pool/mod.rs +++ b/src/std/pool/mod.rs @@ -46,6 +46,7 @@ impl Pool { self.idle.0.send(Some(Arc::new(task))); } + /// close just now pub fn close(&self) { while self.idle.1.remain() > 0 { self.idle.1.try_recv(); @@ -53,6 +54,11 @@ impl Pool { self.idle.0.send(None); } + /// close when all task finish + pub fn close_finish(&self) { + self.idle.0.send(None); + } + pub fn is_close(&self) -> bool { self.closed.load(Ordering::SeqCst) }