自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 C#线程(七)BackgroungWorker

8. BackgroungWorker8.1.简介BackgroundWorker是一个在System.ComponentModel命名空间下帮助类,它管理着工作线程。它提供了以下特性:·        提供程序进度,完成度和退出的标准方案·        实现了IComponent接口,允许它参与Visual Studio设计器·        在工作线程之上做异常处理·        更新Wi...

2018-05-12 13:31:28 640

转载 C#线程(六)线程局部存储技术

7. 线程局部存储技术7.1. 简介我们知道,在一个进程中,所有线程的堆内存是共享的(栈除外,线程的栈内存是相互隔离的)。线程局部存储技术是使每个线程与其它线程数据存储隔离。 NET Framework 提供了两种用于使用线程本地存储区 (TLS) 机制︰ 线程相对静态字段 (即,使用标记的字段 ThreadStaticAttribute 属性) 和数据槽。 线程相关的静态字段提供更好的性能比数据...

2018-05-12 13:24:48 1019

原创 C#线程(五)计时器

6. 计时器 计时器可以周期性的执行某个方法。6.1. System.Threading.Timer线程计时器利用了线程池,通过线程池定期执行某个方法,因此可以严格的定时执行某个方法。如果某个方法比较耗时,该计时器通过线程池技术保证定时出发该方法,只不过通过不同的线程来执行。6.1.1. 常用方法构造方法public Timer (TimerCallback tick, object state,...

2018-05-12 13:23:14 4568

转载 C#线程(四)异步委托

5. 异步委托5.1. 简介委托在后台可以创建一个线程,实现异步执行委托方法。我们可以使用不同的技术来异步地调用委托,并且返回结果。常用的方法有三种:使用轮询、等待句柄、异步回调我们定义一个名为TakesAWhile()方法,该方法中调用了Thread.Sleep()方法:static int TakesAWhile(int data , int ms){   Console.WriteLine(...

2018-05-12 13:21:22 631

原创 C#线程(三)线程池

4. 线程池4.1 简介一般情况下我们都使用Thread类创建线程,因为通过Thread对象可以对线程进行灵活的控制。但创建线程和销毁线程代价不菲,过多的线程会消耗掉大量的内存和CPU资源,假如某段时间内突然爆发了100个短小的线程,创建和销毁这些线程就会消耗很多时间,可能比线程本身运行的时间还长。为了改善这种状况,.NET提供了一种称之为线程池Thread Pool)的技术。线程池提供若干个固定...

2018-05-12 13:18:24 1241

原创 C#线程(二)多线程

3.多线程3.1. 锁和线程安全锁实现互斥的访问,被用于确保在同一时刻只有一个线程可以进入特殊的代码片段,考虑下面的类:class ThreadUnsafe {    static int val1, val2;    static void Go()    {          if (val2 != 0) Console.WriteLine (val1 /val2);            v...

2018-05-12 13:13:38 563

原创 C#线程(一)概述及常用方法

1. 概述与概念1.1. 入门线程小例子C#支持通过多线程并行地执行代码,一个线程有它独立的执行路径,能够与其它的线程同时地运行。一个C#程序开始于一个单线程,这个单线程是被CLR和操作系统(也称为“主线程”)自动创建的,并具有多线程创建额外的线程。class ThreadTest {       static void Main()      {              Threadt = n...

2018-05-12 12:47:20 12421 3

原创 C#Socket编程详解(三)Socket编程

三、Socket编程1、UDP通信1.1采用Socket实现UDP1.1.1简介Socket实现UDP的基本步骤如下:(1)创建一个Socket对象Socket mySocket = new Socket(AddressFamily.InterNetwork,SocketType.Dgram, ProtocolType.Udp);AddressFamily 寻址类型AddressFamily.In...

2018-05-12 11:32:11 30839 8

原创 C#Socket编程详解(二)单播、多播、广播

二、单播、多播、广播1.1单播1.1.1概念主机之间一对一的通讯模式,网络中的交换机和路由器对数据只进行转发不进行复制。每个以太网帧仅发往单个目的主机,目的地址指明单个接收接口,任意两个主机的通信不会干扰网内其他主机。可用TCP或者UDP实现。1.1.2优缺点单播的优点:1)服务器及时响应客户机的请求2)服务器针对每个客户不通的请求发送不通的数据,容易实现个性化服务。单播的缺点:1)服务器针对每个...

2018-05-12 11:22:44 6663 1

原创 C#Socket编程详解(一)TCP与UDP简介

一、TCP与UDP1、TCP1.1 定义TCP(TransmissionControl Protocol)传输控制协议。是一种可靠的、面向连接的协议(eg:打电话)、传输效率低全双工通信(发送缓存&接收缓存)、面向字节流。使用TCP的应用:Web浏览器;电子邮件、文件传输程序。1.2 特性1.2.1.是面向连接的协议也就是说,在收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过...

2018-05-12 11:05:51 21882 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除