Vendor things
This commit is contained in:
parent
5deceec006
commit
977e3c17e5
19434 changed files with 10682014 additions and 0 deletions
25
third-party/vendor/crossbeam-channel/examples/fibonacci.rs
vendored
Normal file
25
third-party/vendor/crossbeam-channel/examples/fibonacci.rs
vendored
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
//! An asynchronous fibonacci sequence generator.
|
||||
|
||||
use std::thread;
|
||||
|
||||
use crossbeam_channel::{bounded, Sender};
|
||||
|
||||
// Sends the Fibonacci sequence into the channel until it becomes disconnected.
|
||||
fn fibonacci(sender: Sender<u64>) {
|
||||
let (mut x, mut y) = (0, 1);
|
||||
while sender.send(x).is_ok() {
|
||||
let tmp = x;
|
||||
x = y;
|
||||
y += tmp;
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let (s, r) = bounded(0);
|
||||
thread::spawn(|| fibonacci(s));
|
||||
|
||||
// Print the first 20 Fibonacci numbers.
|
||||
for num in r.iter().take(20) {
|
||||
println!("{}", num);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue