首页 > 其他分享 >[记]Rust在多线程下修改共享变量的值

[记]Rust在多线程下修改共享变量的值

时间:2022-08-17 18:14:21浏览次数:61  
标签:2333 apple -- Arc let aapp 共享 多线程 Rust

1.

use std::time::Duration;
use std::sync::{Arc, Mutex};
use std::thread;

fn main() {
    
    let okz = "2333".to_string();
    let apple = Arc::new(Mutex::new(okz));

    for _ in 0..10 {

        let apple = Arc::clone(&apple);

        thread::spawn(move || {
            let mut aapp = apple.lock().unwrap();
            aapp.push_str("-1-");
            println!("{:?}", aapp);
          
        });
    }
    let rlt = Arc::clone(&apple);
    println!("{:?}",rlt.lock().unwrap());
    thread::sleep(Duration::from_secs(1));
}

输出打印:

"2333-1-"
"2333-1--1-"
"2333-1--1-"
"2333-1--1--1-"
"2333-1--1--1--1-"
"2333-1--1--1--1--1-"
"2333-1--1--1--1--1--1-"
"2333-1--1--1--1--1--1--1-"
"2333-1--1--1--1--1--1--1--1-"
"2333-1--1--1--1--1--1--1--1--1-"
"2333-1--1--1--1--1--1--1--1--1--1-"

 

标签:2333,apple,--,Arc,let,aapp,共享,多线程,Rust
From: https://www.cnblogs.com/hardfood/p/16596229.html

相关文章

  • SpringBoot 多线程
    关于SpringBoot中多线程的两个注解:@Async是spring为了方便开发人员进行异步调用而出现的。在方法上加入这个注解,spring会从线程池中获取一个新的线程来执行方法,实现异步调......
  • Nodejs 多进程与多线程
    为什么要使用多进程多进程与多线程介绍Nodejs多进程和多线程使用与区别cluster为什么需要多进程nodejs单线程,在处理http请求的时候一个错误都会导致进程退出,这是灾......
  • Python爬虫之多线程异步爬虫,非常详细
    Python爬虫之多线程爬虫在使用Python的过程中,我们可能遇到这样一个场景,需要下载某一个网站上的多个资源;例如:我们想下载豆瓣电影Top250所有的宣传图片具体代码如下......
  • 03 - 多线程之间如何实现通讯
    Java多线程之间如何实现通讯多个线程之间通过wait,notify通讯publicclassThread007{classRes{publicStringuserName;publiccharuserSex......
  • 奇淫巧技,CompletableFuture 异步多线程是真的优雅
     一个示例回顾Future一些业务场景我们需要使用多线程异步执行任务,加快任务执行速度。JDK5新增了Future接口,用于描述一个异步计算的结果。虽然Future以及相关使用......
  • 多线程和异步
    多线程和异步异步方法—Async、Await 一:前言1.所有带有Async关键字的异步方法返回类型:① Task<T>:如果调用方法想通过调用异步方法获取一个T类型的返回值,......
  • rust type and impl
    structA<T:Clone>{data:Vec<T>}typeAA=A<usize>;typeBB<'a>=A<&'astr>;impl<T:Clone>From<T>forA<T>{fnfrom(c:T)->Self{A{......
  • Java多线程开发系列之五:Springboot 中异步请求方法的使用
    Springboot中异步线程的使用在过往的后台开发中,我们往往使用java自带的线程或线程池,来进行异步的调用。这对于效果来说没什么,甚至可以让开发人员对底层的状况更清晰,但是对......
  • python不输出warning信息和多线程
    python 不输出warning信息 加入-Wignore参数Python -Wignore XXX.pyPython多线程1同一函数执行多线程,使用apply_async函数参考https://www.cnblogs.com/ai......
  • 《安富莱嵌入式周报》第278期:基于RUST编程语言RTOS,固态继电器芯片,微软发布物联网组件
    往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 本周更新一期视频教程DSP视频教程第10期:DSP运算加速的精髓,含SI......