aboutsummaryrefslogtreecommitdiff
path: root/evc/src/threading.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2022-12-07 17:16:40 +0100
committermetamuffin <metamuffin@disroot.org>2022-12-07 17:16:40 +0100
commit85d20c4f4cf3656fbf7c27b6b8bbf9536e3ae04d (patch)
tree06497577894131a66f3f4874a9865da5b814fe17 /evc/src/threading.rs
parenta713143ef9c1187c37004043b1d3322d773f9ea0 (diff)
downloadvideo-codec-experiments-85d20c4f4cf3656fbf7c27b6b8bbf9536e3ae04d.tar
video-codec-experiments-85d20c4f4cf3656fbf7c27b6b8bbf9536e3ae04d.tar.bz2
video-codec-experiments-85d20c4f4cf3656fbf7c27b6b8bbf9536e3ae04d.tar.zst
refactor, matrix math
Diffstat (limited to 'evc/src/threading.rs')
-rw-r--r--evc/src/threading.rs26
1 files changed, 0 insertions, 26 deletions
diff --git a/evc/src/threading.rs b/evc/src/threading.rs
deleted file mode 100644
index 3291172..0000000
--- a/evc/src/threading.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-use std::{
- sync::atomic::{AtomicUsize, Ordering},
- thread,
-};
-
-static THREADS_RUNNING: AtomicUsize = AtomicUsize::new(0);
-
-pub fn both_par<F1, F2, O1, O2>(f1: F1, f2: F2, max_threads: usize) -> (O1, O2)
-where
- F1: FnOnce() -> O1 + Send + 'static,
- O1: Send + 'static,
- F2: FnOnce() -> O2,
-{
- if THREADS_RUNNING.load(Ordering::Relaxed) < max_threads {
- THREADS_RUNNING.fetch_add(1, Ordering::Relaxed);
-
- let o1h = thread::spawn(move || f1());
- let o2 = f2();
- let o1 = o1h.join().unwrap();
-
- THREADS_RUNNING.fetch_sub(1, Ordering::Relaxed);
- (o1, o2)
- } else {
- (f1(), f2())
- }
-}