fn main() {
use std::sync::mpsc::channel;
let (sender, recv) = channel::<Point>();
for i in 0..10{
let sender = sender.clone();
let index = i;
std::thread::spawn(move||{
for i in 0..10{
let pt = Point{x:index, y:i};
sender.send(pt).unwrap();
}
});
}
let mut z= Vec::<Point>::new();
loop{
use std::time::Duration;
match recv.recv_timeout(Duration::new(1,0)){
Ok(v)=>z.push(v),
Err(e)=>{
println!("{}",e);
break;
}
}
}
println!("{:?}",z);
}
러스트는 제네릭으로 그런 오버헤드없이 전송할 수 있는데?
아무튼 속도빠른건 rust = c++ > go 사용성 편한건 go > rust > c++
자바 껴서 속도 rust = c++ > go >java 사용성 go > rust >= java > c++
go 는 멀티쓰레링으로 못이긴다 덤비지 마라 - return 0;
애초에 고루틴 스케줄링은 쓰레드 생성 오버헤드도 엄청 작음 - return 0;
위에 틀림
속도 rust = c++ > go > java 사용성 go > rust >= c++ >= java 자바를 버려라!!