摘要: 1.并发和并行理解 比如老师布置了10个不同的任务,小明一个人依次处理这10个任务;另外一种是小明和同学校花一起依次各处理5个任务。第一种处理方式就是我们理解的并发处理,第二种就是我们理解的并行处理。假设小明/小花的处理能力完全一致,明显第二种方式的处理效率为第一种处理方式的两倍 并发处理和并行处理 阅读全文
posted @ 2022-01-25 10:17 echo-efun 阅读(457) 评论(0) 推荐(0)
摘要: 一个程序运行,主流操作系统(windows/Linux)将运行程序作为进程加载到内存中,和其他进程一起共享CPU和内存;操作系统为每个进程分配各自虚拟地址空间,每个进程间的虚拟地址空间不同,每个进程具有各自的内存视图。如下为一个进程内存布局的基本展示: 1.文本段 包含已编译的二进制文件中执行的实际 阅读全文
posted @ 2022-01-17 16:11 echo-efun 阅读(122) 评论(0) 推荐(0)
摘要: Rsut中的特征类似于CSharp中的接口 特征定义: trait 定义特征名 如下定义一个特征Playable于media.rs文件中: pub trait Playable{ fn play(&self); fn pause(){ println!("Paused"); } } main.rs文 阅读全文
posted @ 2022-01-13 14:24 echo-efun 阅读(96) 评论(0) 推荐(0)
摘要: Rust中要实现多个文件来编译程序。需要学习以下内容来实现: Rust中的组织单位是模块,就像CSharp语言中的组织单位是类 pub mod school{ pub mod teacher{ pub fn teach(){ println!("Teacher's work is teaching 阅读全文
posted @ 2022-01-13 09:27 echo-efun 阅读(115) 评论(0) 推荐(0)
摘要: 泛型函数类似于其他编程语言中的多态 格式: fn 函数名<T>() 以下为一个简单的事例: #[derive(Debug)] struct BillPaper<T1,T2,T3,T4>{ //定义一个账单结构体(包含时间/金额/交易内容/交易方式) Time:T1, Amount:T2, Conte 阅读全文
posted @ 2022-01-12 17:07 echo-efun 阅读(220) 评论(0) 推荐(0)
摘要: 如工厂产线上机器运行状态,如下定义泛型枚举来记录各个设备的运行状况: #[derive(Debug)] enum RunStatus<O,N>{ OK(O,N), NG(O,N), } fn main(){ let machine1 = RunStatus::OK(String::from("202 阅读全文
posted @ 2022-01-07 15:22 echo-efun 阅读(140) 评论(0) 推荐(0)
摘要: 结构体泛型 #[derive(Debug)] struct Color<T>{ //定义泛型数组Color chanel1:T, chanel2:T, chanel3:T, } //泛型结构体关联函数 impl<T> Color<T>{ fn create(chanel1:T,chanel2:T,c 阅读全文
posted @ 2022-01-07 14:11 echo-efun 阅读(318) 评论(0) 推荐(0)
摘要: 当一个变量有几种确定的取值情况下,可以将它定义为枚举类型。如性别选择(男/女) 通过 枚举名::枚举值 来访问获取枚举值 1.无参数枚举类型 #[derive(Debug)] enum Sex{ //无参数枚举类型 male, female, } fn main(){ let lilei = Sex 阅读全文
posted @ 2022-01-06 16:49 echo-efun 阅读(403) 评论(0) 推荐(0)
摘要: 结构体 //定义结构体Studentstruct Student{ name:&'static str, score:i32, } fn main(){ let score = 59; let username ="zhangsan"; let mut student = Student{ scor 阅读全文
posted @ 2022-01-06 09:49 echo-efun 阅读(107) 评论(0) 推荐(0)
摘要: 1.字符串截取操作 Rust中有两种常用的字符串类型:str和String fn main() { let mut s1 = String::from("hello,efun-echo"); let s2 = &s1[0..5]; //字符串截取,s2/s3的数据类型为&str let s3 = & 阅读全文
posted @ 2022-01-05 14:33 echo-efun 阅读(3847) 评论(0) 推荐(0)