Some progress on thread terminations

This commit is contained in:
quexeky
2024-10-28 22:06:44 +11:00
parent 270bc8b06b
commit 99beca4dbe
4 changed files with 40 additions and 21 deletions

View File

@ -1,18 +1,20 @@
use std::sync::Arc;
use std::sync::atomic::AtomicUsize;
use std::sync::atomic::{AtomicBool, AtomicUsize};
use crate::downloads::progress::ProgressChecker;
#[test]
fn test_progress_sequentially() {
let counter = Arc::new(AtomicUsize::new(0));
let p = ProgressChecker::new(Box::new(test_fn), counter.clone());
let callback = Arc::new(AtomicBool::new(false));
let p = ProgressChecker::new(Box::new(test_fn), counter.clone(), callback);
p.run_contexts_sequentially((1..100).collect());
println!("Progress: {}", p.get_progress_percentage(100));
}
#[test]
fn test_progress_parallel() {
let counter = Arc::new(AtomicUsize::new(0));
let p = ProgressChecker::new(Box::new(test_fn), counter.clone());
let callback = Arc::new(AtomicBool::new(false));
let p = ProgressChecker::new(Box::new(test_fn), counter.clone(), callback);
p.run_contexts_parallel_background((1..100).collect(), 10);
}