# HG changeset patch # User Shinji KONO # Date 1611048644 -32400 # Node ID afac42f2b9487b8c45c0152d7e0fac7cc5e96209 # Parent 70ab6c2f7f6ee3235e03b1f25d9160cca0ca9ded fix comment diff -r 70ab6c2f7f6e -r afac42f2b948 src/async_test/src/atomic_test.rs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/async_test/src/atomic_test.rs Tue Jan 19 18:30:44 2021 +0900 @@ -0,0 +1,19 @@ +use std::sync::Arc; +use std::sync::atomic::{AtomicUsize, Ordering}; +use std::thread; + +pub fn maina() { + let spinlock = Arc::new(AtomicUsize::new(1)); + + let spinlock_clone = Arc::clone(&spinlock); + let thread = thread::spawn(move|| { + spinlock_clone.store(0, Ordering::SeqCst); + }); + + // Wait for the other thread to release the lock + while spinlock.load(Ordering::SeqCst) != 0 {} + + if let Err(panic) = thread.join() { + println!("Thread had an error: {:?}", panic); + } +} \ No newline at end of file diff -r 70ab6c2f7f6e -r afac42f2b948 src/async_test/src/fu_test.rs --- a/src/async_test/src/fu_test.rs Mon Jan 18 20:52:32 2021 +0900 +++ b/src/async_test/src/fu_test.rs Tue Jan 19 18:30:44 2021 +0900 @@ -37,8 +37,9 @@ } pub fn fu_test() { - let future = get_future(); + let future1 = get_future(); // ThreadPool::new(4).execute(future); block_on(future); + block_on(future1); } \ No newline at end of file diff -r 70ab6c2f7f6e -r afac42f2b948 src/async_test/src/lib.rs --- a/src/async_test/src/lib.rs Mon Jan 18 20:52:32 2021 +0900 +++ b/src/async_test/src/lib.rs Tue Jan 19 18:30:44 2021 +0900 @@ -1,2 +1,2 @@ -pub mod fu_test; \ No newline at end of file +pub mod fu_test; diff -r 70ab6c2f7f6e -r afac42f2b948 src/async_test/src/main.rs --- a/src/async_test/src/main.rs Mon Jan 18 20:52:32 2021 +0900 +++ b/src/async_test/src/main.rs Tue Jan 19 18:30:44 2021 +0900 @@ -1,3 +1,5 @@ + +// from https://rust-lang.github.io/async-book/01_getting_started/04_async_await_primer.html use futures::executor::block_on; struct Song { @@ -37,6 +39,7 @@ fn main() { let m = async_main(); println!("waiting"); + // m.await; block_on(m); async_test::fu_test::fu_test(); } \ No newline at end of file