首页 > 其他分享 >Semaphore 的使用

Semaphore 的使用

时间:2023-06-05 17:03:51浏览次数:35  
标签:Console XiaoweiSDK Semaphore WorkerThread workerSemphore WriteLine 使用 CreateWork

var workerSemphore = new Semaphore(0, 800000);
          var IsWorkThreadCreated = true;
          var   workThread = new Thread(() =>
            {
                Console.WriteLine("XiaoweiSDK.CreateWorkerThread created!");
                while (IsWorkThreadCreated)
                {
                    //Debug.WriteLine("lock wait:XiaoweiSDK::CreateWorkerThread");
                    workerSemphore.WaitOne();
                    //Debug.WriteLine("lock enter:XiaoweiSDK::CreateWorkerThread");
                    Console.WriteLine("------------XiaoweiSDK.CreateWorkerThread inside inside inside!");
                }
                Console.WriteLine("XiaoweiSDK.WorkerThread exited!");
            });
            workThread.IsBackground = true;
            workThread.Start();            Console.WriteLine("XiaoweiSDK.WorkerThread Release111111111!");
            workerSemphore.Release();            Console.WriteLine("XiaoweiSDK.WorkerThread Release2222222222");
            workerSemphore.Release();

Semaphore 的使用_ide

 



标签:Console,XiaoweiSDK,Semaphore,WorkerThread,workerSemphore,WriteLine,使用,CreateWork
From: https://blog.51cto.com/u_4018548/6417937

相关文章

  • 记录一下这次关于死循环使用愚蠢的行为
    在一个多线程的使用场景下,有个变量标记线程是否退出,然后我有这么一行代码while(!stopRequest){}这个问题是cpu某个核会一直占用,正确做法是在loop中sleep一段时间,例如1毫秒,10毫秒,100毫秒。让Cpu资源释放出去,sleep的时间越短,cpu资源就越紧张......
  • 使用类型标注
    有时PyCharm无法判断变量类型,此时PyCharm自动补全功能失效。使用类型标注来告诉PyCharm变量类型,从而使PyCharm提供自动补全。型标注的格式:变量名:类型=值age:int=24#定义一个变量age,它的类型为int,值为24deftest(name:str,age:int=25,other_info:dict=None):......
  • 使用powermock写springboot2.7业务类的测试用例
    1,引入powermock依赖<dependency><groupId>org.powermock</groupId><artifactId>powermock-core</artifactId><version>2.0.9</version><scope>test</......
  • python爬虫爬取快手视频多线程下载功能【fd的使用】
    环境:python2.7+win10工具:fiddlerpostman安卓模拟器首先,打开fiddler,fiddler作为http/https抓包神器,这里就不多介绍。配置允许https 配置允许远程连接也就是打开http代理 电脑ip:192.168.1.110然后确保手机和电脑是在一个局域网下,可以通信。由于我这边没有安卓......
  • HttpClient的使用
    一般的情况下我们都是使用IE或者Navigator浏览器来访问一个WEB服务器,用来浏览页面查看信息或者提交一些数据等等。所访问的这些页面有的仅仅是一些普通的页面,有的需要用户登录后方可使用,或者需要认证以及是一些通过加密方式传输,例如HTTPS。目前我们使用的浏览器处理这些情况都不会......
  • Tmux 使用教程
    1,Tmux使用教程Tmux使用教程-阮一峰的网络日志(ruanyifeng.com) Tmux是一个终端复用器(terminalmultiplexer),非常有用,属于常用的开发工具。本文介绍如何使用Tmux。一、Tmux是什么?1.1会话与进程命令行的典型使用方式是,打开一个终端窗口(terminalwindow,以下简称"窗......
  • 使用定时任务+脚本方式对nginx进行日志切分
    使用定时任务+脚本方式对nginx进行日志切分nginx路径:/home/nf/nginxnginx日志路径:/home/nf/nginx/logs切分目标文件:access.logerror.log创建脚本: 1vim/home/nf/cut_nginx_log.sh 1#!/bin/bash2#nginxlogpath3LOGS_PATH=/home/nf/nginx/logs4YESTERDAY=$(d......
  • 【JAVA 8】 List 使用Lambda表达式操作对象字段进行升序、降序
    总结使用Lambda表达式轻松对集合进行排序1、需要排序的对象implementsComparable接口,并重写compareTo方法指明默认排序的字段2、使用java8的API轻松实现对List的排序代码中也涉及了一些java8的语法嘻嘻,对新语法我也不熟悉Mainpublicstaticvoidmain(String[]args){......
  • 【JavaScript】想在JS中使用换行符,我该怎么操作呢?
    使用'\n'换行,而不是'\n'注意前后空格实战demo:$('#text').val('hello'+'\n'+'world');......
  • 使用c#实现23种常见的设计模式
    使用c#实现23种常见的设计模式设计模式通常分为三个主要类别:创建型模式结构型模式行为型模式。这些模式是用于解决常见的对象导向设计问题的最佳实践。以下是23种常见的设计模式并且提供c#代码案例:创建型模式:1.单例模式(Singleton)publicsealedclassSingleton......