rust

kotlin 1千万回文

我是研究僧i 提交于 2020-10-16 12:41:48
C,D,Go,Rust,Nim,Zig,V,Julia,Py,C#,Kotlin 11语回文数大战!仅供娱乐参考! https://my.oschina.net/raddleoj/blog/510932 Kotlin 20202820 // huiwen.kt import kotlin.system.* fun main(args: Array<String>) { run() println("Hello, World!") } fun ishuiwen(n: Int) : Boolean{ var sn: Int = n; var tn: Int = 0; while (sn != 0) { tn = tn * 10 + sn % 10; sn /= 10; } if (tn == n) { return true; } return false; } fun huiwen(max: Int = 10000000) : Int{ var tx: Int = 0; for (x: Int in 0..max) { if (ishuiwen(x)) tx ++; } return tx; } fun run(){ var total: Int = 0 val t1 = getTimeMillis() val total: Int = huiwen(10000000); val

.NET 异步详解

*爱你&永不变心* 提交于 2020-10-15 21:34:35
前言 博客园中有很多关于 .NET async / await 的介绍,但是很遗憾,很少有正确的,甚至说大多都是“从现象编原理”都不过分。 最典型的比如通过前后线程 ID 来推断其工作方式、在 async 方法中用 Thread.Sleep 来解释 Task 机制而导出多线程模型的结论、在 Task.Run 中包含 IO bound 任务来推出这是开了一个多线程在执行任务的结论等等。 看上去似乎可以解释的通,可是很遗憾,无论是从原理还是结论上看都是错误的。 要了解 .NET 中的 async / await 机制,首先需要有操作系统原理的基础,否则的话是很难理解清楚的,如果没有这些基础而试图向他人解释,大多也只是基于现象得到的错误猜想。 初看异步 说到异步大家应该都很熟悉了,2012 年 C# 5 引入了新的异步机制: Task ,并且还有两个新的关键字 await 和 async ,这已经不是什么新鲜事了,而且如今这个异步机制已经被各大语言借鉴,如 JavaScript、TypeScript、Rust、C++ 等等。 下面给出一个简单的对照: 语言 调度单位 关键字/方法 C# Task<> 、 ValueTask<> async 、 await C++ std::future<> co_await Rust std::future::Future<> .await