rust/src/test/run-pass/task-comm-2.rs

38 lines
772 B
Rust
Raw Normal View History

// xfail-boot
// xfail-stage0
2010-07-28 18:58:17 -05:00
fn main() -> () {
2010-08-09 08:53:37 -05:00
log "===== SPAWNING and JOINING TASKS =====";
test00(false);
log "===== SPAWNING and JOINING THREAD TASKS =====";
2010-07-28 18:58:17 -05:00
test00(true);
}
fn start(int task_number) {
log "Started task.";
let int i = 0;
while (i < 10000) {
i = i + 1;
}
log "Finished task.";
}
fn test00(bool create_threads) {
2010-08-09 08:53:37 -05:00
let int number_of_tasks = 8;
let int i = 0;
let vec[task] tasks = vec();
while (i < number_of_tasks) {
i = i + 1;
if (create_threads) {
tasks += vec(spawn thread start(i));
} else {
tasks += vec(spawn start(i));
}
}
for (task t in tasks) {
join t;
}
2010-07-28 18:58:17 -05:00
log "Joined all task.";
}