arc.rs 496 B

1234567891011121314151617181920212223
  1. //! This test is a more subtle one. It is one which can hit thread destructors
  2. //! unexpectedly.
  3. extern crate ralloc;
  4. use std::sync::Arc;
  5. use std::thread;
  6. #[test]
  7. fn test_arc() {
  8. let numbers: Vec<_> = (0..100).collect();
  9. let shared_numbers = Arc::new(numbers);
  10. for _ in 0..10 {
  11. let child_numbers = shared_numbers.clone();
  12. thread::spawn(move || {
  13. let _local_numbers = &child_numbers[..];
  14. // Work with the local numbers
  15. });
  16. }
  17. }