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

北京seo排名优化网站怎么给做的网站做百度搜索

北京seo排名优化网站,怎么给做的网站做百度搜索,天津网站设计与制作,ftp空间网站完整代码#xff1a;https://github.com/chiehw/hello_rust/blob/main/crates/counter/src/lib.rs 定义 Trait Trait 可以看作是一种能力的抽象#xff0c;和接口有点类似。Trait 还能作为泛型约束条件#xff0c;作为参数的限制条件。 pub trait AtomicCounter: Send S…完整代码https://github.com/chiehw/hello_rust/blob/main/crates/counter/src/lib.rs 定义 Trait Trait 可以看作是一种能力的抽象和接口有点类似。Trait 还能作为泛型约束条件作为参数的限制条件。 pub trait AtomicCounter: Send Sync {type PrimitiveType;fn get(self) - Self::PrimitiveType; // 获取当前计数器的值。fn increase(self) - Self::PrimitiveType; // 自增并返回上一次的值fn add(self, count: Self::PrimitiveType) - Self::PrimitiveType; // 添加一个数并返回上一次的值fn reset(self) - Self::PrimitiveType; // 重置计数器fn into_inner(self) - Self::PrimitiveType; // 获取内部值 }简单的测试用例TDD 使用测试驱动开发可以让目标更明确这里先写个简单的测试案例。 #[cfg(test)] mod tests {use super::*;fn test_simpleCounter(counter: Counter)whereCounter: AtomicCounterPrimitiveType usize, // 使用 Trait 作为泛型约束条件{counter.reset();assert_eq!(0, counter.add(5));assert_eq!(5, counter.increase());assert_eq!(6, counter.get())}#[test]fn it_works() {test_simple(RelaxedCounter::new(10));} }亿点细节 直接封装 AtomicUsize #[derive(Default, Debug)] pub struct ConsistentCounter(AtomicUsize);impl ConsistentCounter {pub fn new(init_num: usize) - ConsistentCounter {ConsistentCounter(AtomicUsize::new(init_num))} }impl AtomicCounter for ConsistentCounter {type PrimitiveType usize;fn get(self) - Self::PrimitiveType {self.0.load(Ordering::SeqCst)}fn increase(self) - Self::PrimitiveType {self.add(1)}fn add(self, count: Self::PrimitiveType) - Self::PrimitiveType {self.0.fetch_add(count, Ordering::SeqCst)}fn reset(self) - Self::PrimitiveType {self.0.swap(0, Ordering::SeqCst)}fn into_inner(self) - Self::PrimitiveType {self.0.into_inner()} }增加测试用例 使用多线程同时对计数器进行操作然后判断计数的结果是否正确。更多的测试案例请查看【完整代码】 fn test_increaseCounter(counter: ArcCounter)whereCounter: AtomicCounterPrimitiveType usize Debug static,{println!([] test_increase: Spawning {} thread, each with {}, NUM_THREADS, NUM_ITERATIONS);let mut join_handles Vec::new();// 创建 NUM_THREADS 个线程同时使用 increase 函数for _ in 0..NUM_THREADS {let counter_ref counter.clone();join_handles.push(thread::spawn(move || {let counter: Counter counter_ref.deref();for _ in 0..NUM_ITERATIONS {counter.increase();}}));}// 等待线程完成for handle in join_handles {handle.join().unwrap();}let count Arc::try_unwrap(counter).unwrap().into_inner();let excepted_num NUM_ITERATIONS * NUM_THREADS;println!([] test_increase: get count {}, excepted num is {}, count, excepted_num);// 确定 count 正确assert_eq!(count, excepted_num)}参考教程 谈谈 C 中的内存顺序 (Memory Order)https://luyuhuang.tech/2022/06/25/cpp-memory-order.html#happens-before
http://www.zqtcl.cn/news/21649/

相关文章:

  • 介绍一个地方旅游网站怎么做北京做网站多少钱
  • 个人求职网站如何做深圳光明建设局官方网站
  • 杭州 网站开发全国装修公司大概多少家
  • 无锡网站营销公司湛江有帮公司做网站
  • 网站单页制作教程网站空间代理
  • 河间网站网站建设网站定制开发前期要有一定的规划
  • 新手学网站建设视频教程共30课高清版wordpress响应式图片主题
  • 免费简历模板的网站域名先解析后做网站
  • 男人需要网站响应式网站怎样做
  • 整站优化seo个人网站做交易类的赚钱吗
  • 自己的电脑做服务器建立网站的方法商城类的网站一般怎么做
  • 用个人电脑做服务器建网站台州电子商务网站建设
  • 网站建设文化信息设计行业网站建设
  • 做任务换流量的网站专业做设计的网站
  • 网站设计与平面设计区别wordpress导航添加图片
  • phpcms做网站好吗湖南人文科技学院王牌专业
  • 如何搜索易思cms做的网站关键词点击价格查询
  • 如何搜索asp网站wordpress订单管理系统
  • 修改网站模板科技馆网站建设背景
  • 服务器做php网站区块链外包开发
  • 用猴子做标志起网站名叫什么好怎么做能够让网站流量大
  • 网站建设模板素材wordpress 来必力
  • 北京网站建设公司价格苏州工业园区公积金
  • 南京做企业号微网站营销中国建设公司排名
  • 写文章的网站东莞网站建设价格
  • 网站301和302手赚网 wordpress
  • 北京网站建设公司朝阳广东城乡建设厅网站
  • 汇算清缴在哪个网站做网站制作 北京
  • 免费推广网站在线用代码做网站
  • 赣州市建设局建管科网站c2c模式流程图