首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C# semaphore使用-2

    其实.NET中信号量(Semaphore)是操作系统维持一个整数。当整数位0时。其他线程无法进入。当整数大于0时,线程可以进入。每当一个线程进入,整数-1,线程退出后整数+1。...整数不能超过信号量最大请求数。信号量在初始化时候可以指定这个整数初始值。...System.Threading.Semaphore类构造函数两个参数第一个就是信号量内部整数初始值,也就是初始请求数,第二个参数就是最大请求数。...Semaphore:可理解为允许线程执行信号池子,池子中放入多少个信号就允许多少线程同时执行。...2、当semaphore拥有的信号量为1时,Semaphore相当于Mutex 3、当semaphore拥有的信号量>1时,信号量数量即可供多个线程同时获取个数,此时可认为获取到信号量线程将同时执行

    69820

    C#中backgroundworker使用

    通过一个demo来说一下backgroundworker使用 上图使我们最终需要实现效果,下来我们开始编码 声明backgroundworker并绑定事件 在注释中已经写出属性含义和绑定事件含义...} e.ProgressPercentage是调用bw.ReportProgress()方法时第一个参数,e.UserState为第二个参数 RunWorkerCompleted 任务完成事件调用方法...//e.Result 获取异步操作结果值,即DoWork事件中,Result设置值。...RunWorkerAsync(50); 开始执行任务,参数50可以在backgroundWorker1_DoWork方法中通过e.Argument取得,在backgroundWorker1_DoWork中有使用...backgroundWorker1.CancelAsync();取消任务执行,实际上是修改了CancellationPending值,false变为true 附上demo代码 链接:https:/

    15710

    PHP crypt()函数用法讲解

    PHP crypt() 函数 定义和用法 crypt() 函数返回使用 DES、Blowfish 或 MD5 算法加密字符串。...使用标准 DES 加密,长度为 2 [CRYPT_STD_DES] – 标准基于 DES 加密有 2 个字符 salt,来自字母表 “./0-9A-Za-z”。...[CRYPT_BLOWFISH] – Blowfish 加密有一个以 2a、2x 或 2y 开始 salt,一个两位数 cost 参数 “”,以及来自字母表 “./0-9A-Za-z” 中 22...使用字母表以外字符将引发函数返回一个长度为 0 字符串。”” 参数是以 2 为底基于 Blowfish 散列算法迭代次数对数,必须在 04-31 范围内。在该范围以外值将引发函数失败。...(如上所述,基于标准 DES 算法密码散列使用 2 字符盐值,但是基于 MD5 算法散列使用 12 个字符盐值。)

    1.9K40

    C#中Socket简单使用

    大家好,又见面了,我是你们朋友全栈君。 以前学过Socket,后来没怎么用过,就基本忘了,所以闲来时重新回顾学习一番....一.Socket概念 Socket其实并不是一个协议,而是为了方便使用TCP或UDP而抽象出来一层,是位于应用层和传输控制层之间一组接口....双向通信连接实现数据交换,连接一端成为一个Socket....二.网络通信三要素 IP地址(网络上主机设备唯一标识) 端口号(定位程序) 有效端口:0~65535,其中0~1024由系统使用,开发中一般使用1024以上端口....传输协议(用什么样方式进行交互) 常见协议:TCP(面向连接,提供可靠服务),UDP(无连接,传输速度快) 三.Socket通信流程 四.C#中Socket简单使用步骤 第一步:服务端监听某个端口

    94320

    学习|C#EventHandler委托使用

    本文长度为3661字,预计阅读10分钟 前言 上一篇发了一个视频,关于车辆通过系统场景模拟,在这个项目中,主要想介绍一下使用中距离读卡器对车辆上RFID卡进行身份识别,其中读卡这块核心就是用到了...EventHandler委托和线程处理,看了一下原来C#文章中,以前没有介绍过EventHandler委托,所以这篇简单先介绍一下这个,后面的文章会结合EventHandler委托和线程做一个模拟当时环境小...EventHandler使用 # 说明 1 声明一个EventArgs子类,传递参数 2 声明委托对象,执行方法,将方法绑定委托对象 3 开启EventHandler委托 EventHandler...这个类主要是写了一个实现方式,其中重写了start和stop方法,及我们定义DataReceived处理方式 ? ? ?...点击按钮初始化时,使用+=刚才定义方法进行委托。

    2.2K10

    C#使用NPOI进行word读写

    目录 一、简介 1、操作Word类库: 二、简单使用 1、XWPFDocument类实例化 2、设置页面的大小 3、段落处理 4、表格处理 5、页眉页脚处理 三、综合示例 四、参考 一、简介 1、操作...二、简单使用 1、XWPFDocument类实例化 该类实例对应一个word文档 XWPFDocument MyDoc = new XWPFDocument(); 2、设置页面的大小 如果不进行页面大小设置...,段落由XWPFDocument实例使用CreateParagraph()方法生成。...该属性获取或设置一个string类型变量。该变量含义是某个颜色RGB值(在NPOI里所有的颜色都是以这种形式表示)。...cell.Tables;//获取嵌套单元格可使用 row.Rows //获取表格所有行; row.GetTableICells() ;//获取表格行所有单元格; 获取到单元格之后就可以获取单元格里文本段落

    7.4K21

    C#反射解析及使用.

    1、对C#反射机制理解 2、概念理解后,必须找到方法去完成,给出管理主要语法 3、最终给出实用例子,反射出来dll中方法 参考: C#反射,MSDN编程指南 反射是一个程序集发现及运行过程,通过反射可以得到...使用反射可以看到一个程序集内部接口、类、方法、字段、属性、特性等等信息。在System.Reflection命名空间内包含多个反射常用类,下面表格列出了常用几个类。...在C#中,我们要使用反射,首先要搞清楚以下命名空间中几个类关系:     System.Reflection命名空间     (1)   AppDomain:应用程序域,可以将其理解为一组程序集逻辑容器...(包括程序集名,版本信息,语言文化,公钥标记)来加载程序集,会加载此程序集引用其他程序集,一般情况下都应该优先使用 这个方法,他执行效率比LoadFrom要高很多,而且不会造成重复加载问题(原因在第...这就是在第1点中提到Load方法比LoadFrom方法执行效率高原因。另外,由于可能把程序集作为"数据文件"来加载,所以使用 LoadFrom从不同路径加载相同程序集时候会导致重复加载。

    2K140

    求助:C#使用ashxBaseHandler

    最近打算用jeasyui(或者ExtJs)+ashx写b/s架构程序,写了几个ashx后,发现很多内容都需要重复写,就考虑用类似webform中aspx页BasePage,暂且叫做BaseHandler...不巧是从cnblogs一直找不到有人这么用过,通过Google英文搜索,终于找到2个例子,其中一个还是国人写。...老外写那个的确很专业,但是我觉得包装太复杂,基本思路用国人,可惜是国人写那个没有实际应用例子,尤其是没有加入权限控制部分。如果哪位朋友在实际项目中用过,麻烦你回复此篇文章,谢谢。...国人例子地址:[URL=http://code.google.com/p/jiangliang-project/source/browse/trunk/Jlcool/Common/BaseHandler.cs...]jiangliang-project[/URL] 老外项目地址:[URL=http://www.instanceofanobject.com/2012/03/advanced-generic-handler-ashx.html

    1K50

    C#使用NPOI进行word读写

    以下文章来源于CSharp编程大全 ,作者zls365 目录 一、简介 1、操作Word类库: 二、简单使用 1、XWPFDocument类实例化 2、设置页面的大小 3、段落处理 4、表格处理...5、页眉页脚处理 三、综合示例 四、参考 一、简介 1、操作Word类库: 二、简单使用 1、XWPFDocument类实例化 该类实例对应一个word文档 XWPFDocument MyDoc...,段落由XWPFDocument实例使用CreateParagraph()方法生成。...该属性获取或设置一个string类型变量。该变量含义是某个颜色RGB值(在NPOI里所有的颜色都是以这种形式表示)。...cell.Tables;//获取嵌套单元格可使用 row.Rows //获取表格所有行; row.GetTableICells() ;//获取表格行所有单元格; 获取到单元格之后就可以获取单元格里文本段落

    2.8K10

    CS系列-使用C#免杀

    文章源自【字节脉搏社区】-字节脉搏实验室 作者-purplet 本篇主要学习这种方法,现在测试已经不能够过360杀毒了,更不要提火绒了 前提监听,选择如图所示payload ? ? ?...WaitForSingleObject( IntPtr hHandle, UInt32 dwMilliseconds ); } } 将刚刚生成两行替换到上面模板注释部分...介绍一下CSC使用 out:是指定生成后exe文件名称,/unsafe是使用非安全模式来编译代码,非安全模式下编译代码允许其操作内存地址以及这些地址上直接,会引起不安全代码执行,有安全风险,所以是定为不安全模式.../F:如果指定任务已存在,则强制创建任务并禁止警告值。 /RU:指定运行任务用户上下文。 /TN:指定唯一标识计划任务名称。 /TR:指定要在计划时间运行任务路径和文件名。.../sT:指定运行任务开始时间,格式为H出:mm(24小时制)。

    1.8K20

    c#之quartz任务调度使用

    这里讲下,quartz这种任务调度程序简单使用 这是使用quartz3.x 版本 2.x 版本与此稍有区别,可以在网上查看2.x版本教程 使用语言为c# quartz使用分为几个步骤 创建一个ISchedulerFactory...,然后并且获取 Scheduler 启动 Scheduler 创建 job 任务 创建 trigger 触发器 使用触发器规划执行任务( Tell quartz to schedule the job...Run(); Console.ReadKey(); } /// /// 任务调度使用过程...另外,在实际项目使用中,可以进行把上面步骤拆开,封装进行使用 例如,可以把步骤1,步骤2封装到一起,即用来产生 scheduler 把 步骤3,步骤4,步骤5 封装到一起,用来给不同任务 scheduler...(相当于注册不同 job ,trigger) 另外,还有更多quartz用法 这里附上继续学习网址: quartz学习

    1.4K20

    学习|C#线程中AutoResetEvent使用

    学更好别人, 做更好自己。...——《微卡智享》 本文长度为3106字,预计阅读8分钟 前言 前一篇《学习|C#EventHandler委托使用》介绍了EventHandler简单使用,本篇主要介绍线程中AutoResetEvent...5 WaitOne(TimeSpan, Boolean) :阻止当前线程,直到当前实例收到信号,使用 TimeSpan 度量时间间隔并指定是否在等待之前退出同步域。...上面就是AutoResetEvent主要方法,从上面的主要方法中我们可以看到,实现读卡器每100耗秒进行检测,原来通过线程是sleep进行处理,现在可以使用WaitOne方式,并且通过这个方法,我们可以在外部实现读卡器重连调用...本项目场景 本项目(开头视频)中因为读卡器使用网络通讯,所以我们要考虑出现异常情况下实现读卡器自动重连。 如果存在网络中断时候我们要考虑到自动重连。

    1.2K20

    C#使用Record好处

    本文将深入探讨在C#使用record多方面好处,并且结合实际案例,详细分析其在不同场景中应用优势。1. 简洁语法record语法非常简洁,这使得代码更加易读和易写。...高效内存使用record类型在内存使用上也有一定优势。由于record是不可变,因此编译器可以对其进行更多优化。此外,record对象在进行复制时,通常使用浅复制,这使得复制操作更加高效。...未来发展随着C#语言不断发展,record类型功能也在不断增强。例如,C# 10.0引入了更多模式匹配功能和性能优化,使得record在更多场景下变得更加实用。...未来,record可能会在更多编程范式中发挥重要作用,进一步提升C#语言表达能力和开发效率。我们可以看到在C#使用record诸多好处。...它不仅简化了代码编写,提高了代码可读性和维护性,还在内存使用、相等性判断、模式匹配等方面提供了显著优势。随着C#语言不断发展,record类型应用前景将更加广阔。

    1.6K10

    C#动态加载和使用类型

    C#编程中,动态加载和使用类型是一个高级特性,它允许程序在运行时动态加载和使用程序集、类型和成员。这为C#带来了动态语言灵活性,同时也带来了性能和类型安全挑战。...动态类型概念动态类型(dynamic)在C# 4.0中引入,它允许对象在运行时而不是编译时进行类型检查。这意味着你可以在不进行显式类型转换情况下,对动态类型对象执行操作,这些操作将在运行时解析。...使用场景与动态语言互操作动态类型特别有用于与动态语言(如Python、Ruby)互操作。例如,通过IronPython或IronRuby,C#可以调用这些语言编写代码,反之亦然。...因此,在性能敏感应用中,应谨慎使用动态类型。动态类型高级使用ExpandoObjectExpandoObject是一个允许在运行时动态添加和删除成员对象。...DLR使得C#能够使用动态类型,并与这些动态语言互操作。

    71800
    领券