随笔分类 -  B▼ C#

.NET 中使用 Mutex 进行跨越进程边界的同步
摘要:转载至:.NET 中使用 Mutex 进行跨越进程边界的同步 Mutex 是 Mutual Exclusion 的缩写,是互斥锁,用于防止两个线程同时对计算机上的同一个资源进行访问。不过相比于其他互斥的方式,Mutex 能够跨越线程边界。 本文内容 Mutex 是什么? 简单的 Mutex(不能跨进 阅读全文

posted @ 2019-10-16 16:54 jshchg

Newtonsoft.Json高级用法
摘要:转载至:https://www.cnblogs.com/yanweidie/p/4605212.html 手机端应用讲究速度快,体验好。刚好手头上的一个项目服务端接口有性能问题,需要进行优化。在接口多次修改中,实体添加了很多字段用于中间计算或者存储,然后最终用Newtonsoft.Json进行序列化 阅读全文

posted @ 2019-10-15 11:40 jshchg

委托、Lamda表达式
摘要:1、委托概述 2、匿名方法 3、语句Lambda 4、表达式Lambda 5、表达式树 阅读全文

posted @ 2019-10-15 10:40 jshchg

C# 基础回顾: volatile 关键字
摘要:有些人可能从来没看到过这个关键字,这也难怪,因为这个关键字并不常用。那这个关键字到底有什么用呢? 我在网上搜索这个关键字的时候,发现很多朋友都有一个错误的认识 认为这个关键字可以防止并发争用(有点类似 lock 的赶脚)。 volatile 作用重定义 volatile 中文解释是“可变的”,MSD 阅读全文

posted @ 2019-10-14 16:28 jshchg

volatile 关键词
摘要:volatile 关键字指示一个字段可以由多个同时执行的线程修改。 出于性能原因,编译器,运行时系统甚至硬件都可能重新排列对存储器位置的读取和写入。 声明了 volatile 的字段不进行这些优化。这样可以确保该字段在任何时间呈现的都是最新的值。 volatile 关键字可应用于以下类型的字段: 引 阅读全文

posted @ 2019-10-14 15:07 jshchg

C#线程池 ThreadPool
摘要:线程池初始化时是没有线程的,线程池里的线程的初始化与其他线程一样,但是在完成任务以后,该线程不会自行销毁,而是以挂起的状态返回到线程池。直到应用程序再次向线程池发出请求时,线程池里挂起的线程就会再度激活执行任务。这样既节省了建立线程所造成的性能损耗,也可以让多个任务反复重用同一线程,从而在应用程序生存期内节约大量开销。 阅读全文

posted @ 2019-10-13 15:40 jshchg

EventWaitHandle 第一课
摘要:本篇通过一个列子使用EventWaitHandle实现两个线程的同步。请参看下面的列子。 阅读全文

posted @ 2019-10-13 13:37 jshchg

thrift 安装
摘要:1、下载 去官网 https://thrift.apache.org/download 下载两个文件,下载地址 http://archive.apache.org/dist/thrift/0.9.3/: thrift-0.9.3.exe 用于将 .thrift 文件编译成其他语言文件(如 .cs, 阅读全文

posted @ 2019-10-12 16:39 jshchg

C# Apache Thrift Demo
摘要:转载至 https://headsigned.com/posts/csharp-apache-thrift-demo/ This demo application shows how to implement a simple Apache Thrift client/server in C#. T 阅读全文

posted @ 2019-10-12 16:21 jshchg

C#指针使用demo
摘要:#region 使用指针检索数据值 //class program //{ // // 1、项目属性勾选“允许不安全代码” // // 2、使用unsafe 修饰符 // // 这里是将整个Main方法声明为不安全代码 // //static unsafe void Main() // static void Main() // { // // ... 阅读全文

posted @ 2019-10-12 16:08 jshchg

C#中指针使用总结
摘要:转载至:https://www.cnblogs.com/imlions/p/3203427.html C#为了类型安全,默认并不支持指针。但是也并不是说C#不支持指针,我们可以使用unsafe关键词,开启不安全代码(unsafe code)开发模式。在不安全模式下,我们可以直接操作内存,这样就可以使 阅读全文

posted @ 2019-10-12 15:30 jshchg

char[] byte[] string
摘要:C# byte 和 char 可以认为是等价的。但是在文本显示的时候有差异。 char 占两个字节,unicode字符 1、内存转换: char转化为byte: byte转换为char: 2、字符串转换 char[]转化为byte[]: byte[]转化为char[]: string类型转成byte 阅读全文

posted @ 2019-10-11 19:40 jshchg

C# 正则表达式
摘要:正则表达式手册: http://tool.oschina.net/uploads/apidocs/jquery/regexp.html 阅读全文

posted @ 2019-10-11 16:14 jshchg

C#格式化字符串使用
摘要:1 前言 如果你熟悉Microsoft Foundation Classes(MFC)的CString,Windows Template Library(WTL)的CString或者Standard Template Library(STL)的字符串类,那么你对String.Format方法肯定很熟 阅读全文

posted @ 2019-09-24 17:49 jshchg

C# 3.0 扩展方法&接口
摘要:namespace ExtensionInterfaceMethod { class Program { static void Main(string[] args) { //使用接口变量来调用扩展方法 IBasicInterface bii = new BasicImplement(); bii 阅读全文

posted @ 2019-09-23 16:13 jshchg

C#中字典集合HashTable、Dictionary、ConcurrentDictionary三者区别
摘要:C#中HashTable、Dictionary、ConcurrentDictionar三者都表示键/值对的集合,但是到底有什么区别,下面详细介绍: 一、HashTable HashTable表示键/值对的集合。在.NET Framework中,Hashtable是System.Collections 阅读全文

posted @ 2019-09-23 15:27 jshchg

实现自定义集合的可枚举类型(IEnumerable)和枚举数(IEnumerator )
摘要:下面的代码示例演示如何实现自定义集合的 IEnumerable 和 IEnumerator 接口: 可枚举类型 → 实现IEnumerable接口,可以不需要直接实现这个接口,但必须有个GetEnumerator方法,返回值类型必须为IEnumerator类型,也就是第四点最后一段代码中接口注释的那 阅读全文

posted @ 2019-09-23 14:17 jshchg

集合(Collection)类
摘要:集合(Collection)类是专门用于数据存储和检索的类。这些类提供了对栈(stack)、队列(queue)、列表(list)和哈希表(hash table)的支持。大多数集合类实现了相同的接口。 集合(Collection)类服务于不同的目的,如为元素动态分配内存,基于索引访问列表项等等。这些类 阅读全文

posted @ 2019-09-23 11:24 jshchg

Monitor 实现阻塞队列 + 生产消费者实例
摘要:转载至 https://www.codeproject.com/Articles/28785/Thread-synchronization-Wait-and-Pulse-demystified 阅读全文

posted @ 2019-09-12 16:27 jshchg

C#多线程代码示例
摘要:using System; using System.Threading; namespace MultiThreadDemo { class Program { public static void threadfunc() { try { Console.WriteLine("Child thr 阅读全文

posted @ 2019-09-12 15:46 jshchg

导航