首页 > 其他分享 >await的等待

await的等待

时间:2023-03-15 22:36:04浏览次数:37  
标签:tasks Console int await locker static WriteLine 等待

namespace TestThread
{
    internal class Program
    {

        static int count = 0;
        static object locker = new object();


        static void Main(string[] args)
        {
            List<Task> tasks = new List<Task>();

            for (int i = 0; i < 10; i++)
            {
                var tempIx = i;
                var task = new TaskFactory().StartNew(async () =>
                {
                    Console.WriteLine("线程开始" + tempIx);

                    Monitor.Enter(locker);
                    await AddOne();
                    Monitor.Exit(locker);

                    Console.WriteLine("线程结束" + tempIx);
                });
                tasks.Add(task);
            }

            // Task.WhenAll(tasks.ToArray());
            Task.WaitAll(tasks.ToArray());
            Console.WriteLine("result:" + count);
            Console.ReadLine();
        }

        static async Task AddOne()
        {
            for (int i = 0; i < 10000; i++)
            {
                // lock (locker)
                {
                    count++;
                }

            }

        }
    }




}

  

标签:tasks,Console,int,await,locker,static,WriteLine,等待
From: https://www.cnblogs.com/chinasoft/p/17220449.html

相关文章

  • Node.js版的Playwright等待所有请求完成
    以下是一个Node.js版的Playwright等待所有请求完成的Demo喵~:```javascriptconst{chromium}=require('playwright');(async()=>{constbrowser=awaitchr......
  • UI自动化--下拉框处理和等待机制
    一、下拉框处理:网页上的js弹出框一般有三种情况,且识别不了元素,需要使用switch_to.alert()进行跳转    情况一: 这时候需要先跳转到此弹窗,才能做到自动化点击确......
  • JS_0074:new Promise await 等待后执行,同步加载 加载threejs 加载字体
    1,一,使用TextGeometry创建3D文字1.需加载字体配合使用,使用THREE.FontLoader//加载字体loadFont(){returnnewPromise(function(resolve,reject)......
  • c#异步编程学习记录之一 async和await
    async放在方法名前面,表示当前方法是一个异步的方法await等待返回结果,一般这个后面会跟着一个比较耗时的操作示例如下:Console.WriteLine("Hello,World!")......
  • vue中执行异步函数async和await的用法
    在开发中,可能会遇到两个或多个函数异步执行的情况,对于Vue中函数的异步函数执行做了一个小总结,如下:异步执行使用async和await完成created(){this.init()},meth......
  • Selenium显示等待常用的等待条件ExpectedConditions
       newWebDriverWait(Drivers._driverInstance,newTimeSpan(0,0,2)).Until(ExpectedConditions.InvisibilityOfElementLocated(locator));ExpectedConditions.Inv......
  • Selenium自动化等待处理代码参考
    Selenium自动化等待隐式等待python版本self.drvier.implicitly_wait(30)java版本//隐式等待调用方式,设置等待时间为30秒driver.manage().timeouts().implicitlyWait(30,Tim......
  • .net OpenQASelenium 等待常见的处理方式
    .netSelenium等待常见的处理方式显示等待1使用Until和匿名函数的方法varwait=newWebDriverWait(driver,newTimeSpan(0,0,30));wait.IgnoreExceptionTypes(typeof......
  • C# 异步编程async/await
    概述异步这个概念在不同语境下有不同的解释,比如在一个单核CPU里开启两个线程执行两个函数,通常认为这种执行方式是异步的,但对于CPU来说它是单核不可能同时运行两个函数,不过......
  • 9.使用async和await简化promise的使用
    我们常规的写法如下:reqLogin(username,password).then(response=>{console.log("登陆成功了!",response.data)}).catch(error=>{console.log("登陆失......