8 june905206961

尚未进行身份认证

暂无相关描述

等级
博文 55
排名 8w+

C#中单例的双重锁定模式

转载自:https://blog.csdn.net/sinat_20559947/article/details/48311915usingSystem;usingSystem.Collections.Generic;///<summary>///适用于在多线程的情况下保证只有一个实例化对象的情况,例如银行的操作系统///</summary>nam...

2019-06-19 11:31:50

C# 单例模式

单例模式就是保证在整个应用程序的生命周期中,在任何时刻,被指定的类只有一个实例,并为客户程序提供一个获取该实例的全局访问点。  一、经典模式:publicclassSingleton{privatestaticSingletoninstance;privateSingleton(){}...

2019-06-19 11:15:55

Socket:shutdown()函数:优雅地断开TCP连接

调用close()/closesocket()函数意味着完全断开连接,即不能发送数据也不能接收数据,这种“生硬”的方式有时候会显得不太“优雅”。图1:close()/closesocket()断开连接上图演示了两台正在进行双向通信的主机。主机A发送完数据后,单方面调用close()/closesocket()断开连接,之后主机A、B都不能再接受对方传输的数据。实际上,是完全无...

2019-06-06 16:13:10

Socket:图解TCP四次握手断开连接

建立连接非常重要,它是数据正确传输的前提;断开连接同样重要,它让计算机释放不再使用的资源。如果连接不能正常断开,不仅会造成数据传输错误,还会导致套接字不能关闭,持续占用资源,如果并发量高,服务器压力堪忧。建立连接需要三次握手,断开连接需要四次握手,可以形象的比喻为下面的对话:[Shake1]套接字A:“任务处理完毕,我希望断开连接。” [Shake2]套接字B:“哦,是吗?请稍等,...

2019-06-06 15:24:44

Socket:图解TCP数据报结构以及三次握手(非常详细)

TCP(TransmissionControlProtocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的通信协议,数据在传输前要建立连接,传输完毕后还要断开连接。客户端在收发数据前要使用connect()函数和服务器建立连接。建立连接的目的是保证IP地址、端口、物理链路等正确无误,为数据的传输开辟通道。TCP建立连接时要传输三个数据包,俗称三次握手(Three-wayHa...

2019-06-06 15:17:08

Linux Socket编程(不限Linux)

本文转自:https://www.cnblogs.com/skynet/archive/2010/12/12/1903949.html“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你...

2019-06-06 14:44:31

Socket通信原理

对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1.什么是TCP/IP、UDP?2.Socket在哪里呢?3.Socket是什么呢?4.你会使用它们吗?什么是TCP/IP、UDP?TCP/IP(TransmissionCo...

2019-06-06 14:37:54

C# 前台线程和后台线程的区别

前台线程和后台线程唯一区别:应用程序必须运行完所有的前台线程才会完全退出,若前台线程未执行完成,关闭应用程序后,应用程序并没有完全退出,在任务管理器中还存在此进程;而对于后台线程,应用程序则可以不考虑其是否已经运行完毕而直接退出,所有的后台线程在应用程序退出时都会自动结束。线程的分类线程由程序员创建,可是创建的方式不同,总体来说有两种,一种是个人构造,也就是使用thread类new线程对象...

2019-06-05 16:31:51

C# 访问修饰符internal的访问范围误区释疑

 一、前言                       MSDN关于访问修饰符的访问级别解释:访问修饰符是一些关键字,用于指定声明的成员或类型的可访问性。本节介绍四个访问修饰符: public protected internal private 使用这些访问修饰符可指定下列五个可访问性级别:publ...

2019-02-14 10:50:28

C#中$的用法

$ 特殊字符将字符串文本标识为内插字符串。 内插字符串类似于包含内插表达式的模板字符串。 将内插字符串解析为结果字符串时,带有内插表达式的项会替换为表达式结果的字符串表示形式。 此功能在C#6及更高版本中提供。 stringname="Mark";vardate=DateTime.Now;//Compositeformatting:Console.WriteLi...

2018-11-27 08:54:54

C#中 Convert.ToInt32、int.TryParse、(int)和int.Parse四者的区别

本文转自:https://www.cnblogs.com/walle2014/p/3662865.htmlConvert.ToInt32适合将object类型转换成int类型,如Convert.ToInt32(session["shuzi"]);  (int)适合简单数据类型之间的转换;  int.Parse适合将string类型转换成int类型,如int.Parse(session...

2018-09-13 18:21:13

C# Invoke和BeginInvoke2

之前在项目中遇到了UI界面更新出错的问题,后来在网上找了很多资料,终于解决,先将资料整理如下:为什么需要Control.Invoke和Control.BeginInvoke??    如果从另外一个线程操作windows窗体上的控件,就会和主线程产生竞争,造成不可预料的结果,甚至死锁。因此windowsGUI编程有一个规则,就是只能通过创建控件的线程来操作控件的数据,否则就可能...

2018-09-13 14:39:09

C# 中的定时器2

一、单线程定时器 1.System.Windows.Forms.Timer WinForms定时器;单线程定时器,线程安全;运行在UI线程,可直接更新UI画面;执行效率不高,适用于小任务。2.System.Windows.Threading.DispatcherTimer WPF定时器;单线程定时器,线程安全;运行在UI线程,可直接更新UI画面;执行效率不高,适用于小任务。System...

2018-09-12 17:01:30

C# 中的定时器类型

文章转自:http://www.cnblogs.com/DebugLZQ/archive/2012/08/05/2623669.html 定时器是系统常用的组件之一,程序员可以根据自己的需求定制一个定时器类型,也可以使用.net内建的定时器类型。在.net中一共为程序员提供了3种定时器。System.Windows.Forms.Timer类 System.Threading.Timer类...

2018-09-12 17:00:08

C# 以非独占方式打开文件

使用C#开发中,当一个程序正在读写某个文件,另一个程序则无法操作此文件。使用FileStream类,其中的FileShare参数可设置文件的共享方式:FileShare.None谢绝共享当前文件 FileShare.Read充许别的程序读取当前文件 FileShare.Write充许别的程序写当前文件 FileShare.ReadWrite充许别的程序读写当前文件usin...

2018-08-27 14:25:45

C# 使用File.Create方法创建文件时,报进程被占用

在一个程序里偶然用了System.IO.File.Create去创建文件,运行时一直报错(进程被占用),后来在网上找到了解决办法,引用了一下。winfrom中操作文件:判断是否有当前的文件存在,不存在则进行创建,在进行操作;if(!System.IO.File.Exists(fileName)){System.IO.File.Create(fileName);}但...

2018-08-27 13:42:05

Invoke and BeginInvoke

本文转自:http://www.cnblogs.com/worldreason/archive/2008/06/09/1216127.html 在Invoke或者BeginInvoke的使用中无一例外地使用了委托Delegate,至于委托的本质请参考我的另一随笔:对.net事件的看法。一、为什么Control类提供了Invoke和BeginInvoke机制?关于这个问题的最主要的原因已...

2018-08-20 11:38:36

C# SerialPort串口接收中的this.Invoke

本文转自:http://www.ciast.net/post/20160752.html privatevoidDisplayText(objectsender,EventArgse){textBox1.Text=datain;}privatevoidserialPort1_DataReceived(objectsender,SerialDataRe...

2018-08-20 10:52:12

C#  对ToString("X2")的理解

转化为16进制字符串。 大写X:ToString("X2")即转化为大写的16进制。 小写x:ToString("x2")即转化为小写的16进制。 2表示输出两位,不足2位的前面补0,如0x0A如果没有2,就只会输出0xA...

2018-08-17 17:35:05

#include后尖括号和双引号的区别

第一种方式:采用<>方式,表示让编译器在编译器的预设标准路径下去搜索相应的头文件,如果找不到则报错。例如:VS2015的安装目录\MicrosoftVisualStudio14.0\VC\include下面就包含了标准库的头文件。第二种方式:采用""方式,表示先在工程所在路径下搜索,如果失败,再到系统标准路径下搜索。所以,特别要注意的是,如果是标准库头文件,那么既...

2018-08-14 19:05:43
奖章
    暂无奖章