当前位置: 首页 > news >正文

广州模板建站系统个人网站可以做音乐下载网

广州模板建站系统,个人网站可以做音乐下载网,网站开发模板word,咸阳市建设工程信息网文章目录 线程初步join方法线程通信 Rust系列#xff1a;初步⚙所有权⚙结构体和枚举类⚙函数进阶⚙泛型和特征 线程初步 在Rust中#xff0c;开启多线程进行并发编程#xff0c;只需调用thread::spawn#xff0c;但这里有一个坑点#xff0c;即spawn函数只有一个传入参… 文章目录 线程初步join方法线程通信 Rust系列初步⚙所有权⚙结构体和枚举类⚙函数进阶⚙泛型和特征 线程初步 在Rust中开启多线程进行并发编程只需调用thread::spawn但这里有一个坑点即spawn函数只有一个传入参数即准备运行的函数原则上讲这个准备并发执行的函数并没有输入参数。但从测试的角度来说这样就没法分清谁是谁为了让带有参数的函数也能享受多线程功能可采取闭包的方式将其转化为无参数函数示例如下。 use std::thread; use std::time::Duration;fn count(s:String){for i in 0..3{thread::sleep(Duration::from_millis(100));println!({},{}, s, i);} }fn main() {thread::spawn(|| - count(A.to_string()));count(B.to_string()) }其中count的功能是每隔100毫秒输出一个数字。在主函数中调用了两次count第一次开启了线程开关第二次则在main的主线程中运行结果如下二者在输出上是没有先后顺序的说明的确在并发执行。 B,0 A,0 B,1 A,1 A,2 B,2 join方法 如果讲上面代码的主函数改为调用两次spawn像下面这样那么运行之后将不会有任何输出。原因也很简单每一个线程开启之后都会等待100毫秒才开始输出数字但主线程却早早结束了。 fn main() {thread::spawn(||{count(A.to_string())});thread::spawn(||{count(B.to_string())}); }为了避免这种尴尬的局面可通过join方法让主进程等待子进程跑完之后再继续方法也很简单只需写成下面的形式 fn main() {thread::spawn(||{count(A.to_string())}).join().unwrap();thread::spawn(||{count(B.to_string())}).join().unwrap(); }输出结果如下发现多线程貌似没起到作用。这个现象并不难理解由于A线程后面紧跟着join所以主线程会等待A线程执行完毕再继续。 A,0 A,1 A,2 B,0 B,1 B,2为了避免这种尴尬的局面出现可以将线程和join的位置分开即给线程绑定一个变量像下面这样从而运行就正常了。 fn main() {let a thread::spawn(||{count(A.to_string())});let b thread::spawn(||{count(B.to_string())});a.join().unwrap();b.join().unwrap(); }线程通信 在Rust中线程通信需要引入另一个模块mpsc(multiple producer, single consumer)使用其中的channel函数生成一对可以穿透线程的电话 use std::thread; use std::sync::mpsc;fn main() {let (tx, rx) mpsc::channel();thread::spawn(move || {for i in 0..3{tx.send(i.to_string()).unwrap();}let val String::from(hi);tx.send(val).unwrap();});loop{let received rx.recv().unwrap();println!(Got: {}, received);if receivedhi{return;}} }其中tx在子线程中通过send进行发送rx在主线程中通过recv()接收运行结果如下 Got: 0 Got: 1 Got: 2 Got: hi
http://www.dnsts.com.cn/news/241743.html

相关文章:

  • 网站建设上传图片不显示做网站 做什么网站好
  • 儿童网站设计网站建设找客户
  • 网站系统建站小程序怎么开店
  • 长春网站建设公司排名网页设计师职业规划
  • 网站上的图片带店面是怎么做的海南做网站的公司
  • 管理咨询公司经营范围有哪些网站建设优化的作用
  • 网站搭建流程sns电商网站
  • 深圳自适应网站制作网页制作三剑客不包括
  • 做cpa联盟必须要有网站吗保定网络推广公司
  • 永久免费网站建设项目推广方案怎么写
  • 网站优化效果怎么样广东新闻联播2011
  • 什么网站做网页好网站三合一建设
  • 网站建设需求分析流程图wordpress文章全显示
  • 做农资的网站如何把网站主关键词做到百度首页
  • 解决wordpress更改新域名后网站不能访问的问题做嗳嗳的网站
  • 建设厅证书查询网站浙江网站建设哪家好
  • 珠海市 网站建设服务器安全加固
  • 无锡华士镇网站建设重庆建设工程信息网官网入渝备案
  • 企业网站建设需要哪些设备上海南京东路网站建设
  • 无锡做百度网站阜阳网站建设价格低
  • 清河网站建设设计东莞网站开发报价
  • 什么网站做软文锦州网站开发招聘
  • 个人免费网站申请注册模板展示网站源码
  • 东莞品牌网站建设wordpress需要安装哪些插件
  • 网站制作公司高端怎么做网站发货
  • 即买即送的网站有哪些禁止WordPress访问官网
  • dedecms5.7 财经网站广东外贸网站建设企业
  • 美食网站建设的思路佛山市顺德区建设局网站
  • 开发网站需要哪些技术人员如何进行app推广
  • 遂溪 网站电商网站如何备案