摘要:
我们将在这里进一步讨论一些.NET类,以及他们在多线程编程中扮演的角色和怎么编程。它们是: System.Threading.ThreadPool 类 System.Threading.Timer 类 如果线程的数目并不是很多,而且你想控制每个线程的细节诸如线程的优先级等,使用Thread是比较合适的;但是如果有大量的线程,考虑使用线程池应该更好一些,它提供了高效的线程管理机制来处理多任务。 对于定期的执行任务Timer类是合适的;使用代表是异步方法调用的首选。System.Threading.ThreadPool Class 当你创建应用程序时,你应该认识到大部分时间你的线程在空闲的等待某些 阅读全文
posted @ 2011-05-18 19:51
孤獨龍
阅读(379)
评论(0)
推荐(0)
摘要:
服务端:using System.Net;using System.Net.Sockets;using System.Text;using System.Threading;Thread mythread ;Socket socket;// 清理所有正在使用的资源。 protected override void Dispose( bool disposing ) { try { socket.Close();//释放资源 mythread.Abort ( ) ;//中止线程 } catch{ } if( disposing ) { if (components != null) { comp 阅读全文
posted @ 2011-05-18 19:48
孤獨龍
阅读(484)
评论(0)
推荐(0)
摘要:
C#.net同步异步SOCKET通讯和多线程总结同步套接字通信Socket支持下的网上点对点的通信服务端实现监听连接,客户端实现发送连接请求,建立连接后进行发送和接收数据的功能服务器端建立一个socket,设置好本机的ip和监听的端口与socket进行绑定,开始监听连接请求,当接收到连接请求后,发送确认,同客户端建立连接,开始与客户端进行通信。客户端建立一个socket,设置好服务器端的IP和提供服务的端口,发出连接请求,接收到服务的确认后,尽力连接,开始与服务器进行通信。服务器端和客户端的连接及它们之间的数据传送均采用同步方式。SocketSocket是tcp\ip网络协议接口。内部定义了许 阅读全文
posted @ 2011-05-18 19:47
孤獨龍
阅读(542)
评论(0)
推荐(0)
摘要:
本文的实例程序包括一个列表框、三个按钮。程序使用一个新的线程来运行一个后台处理,结果在列表框中显示。按钮button1启动一个计算平方的线程。按钮button2停止后台处理线程。按钮button3退出程序。程序运行情况如图1所示。使用线程 首先创建运行在新线程上的后台任务。表1所示的代码执行一个相当长的运行处理----一个无限循环。 表1、后台处理程序 private void BackgroundProcess() { int i= 1; while(true) { // 向列表框增加一个项目 listBox1.Items.Add("Iterations: " + i.T 阅读全文
posted @ 2011-05-18 19:45
孤獨龍
阅读(439)
评论(0)
推荐(0)
摘要:
C#和.NET基类为开发多线程应用程序所提供的支持。我们将简要介绍Thread和ThreadPool类以及各种线程支持,再用两 介示例来说明线程的规则。然后论述线程同步时会出现的问题。 .如何开始一个线程 .提供线程的优先级 .通过同步控制对对象的访问 1、线程是程序中独立的指令流。主要是给应用程序提供了多个执行线程,应用程序可以有任意多个线程。每次创建一个新执行线程时,都需要指定从哪个方法开始执行。应用程序中的第一个线程总是Main()方法,因为第一个线程是由.NET运行库开始执行的,Main()方法是.NET运行库选择的第一个方法。后续的线程由应用程序在内部启动,即应用程序可以选择启动哪个 阅读全文
posted @ 2011-05-18 19:41
孤獨龍
阅读(796)
评论(0)
推荐(0)
摘要:
using System;using System.Threading;//我们定义一个被操作的对象的类Cell,在这个类里,有两个方法:ReadFromCell()和WriteToCell。//消费者线程将调用ReadFromCell()读取cellContents的内容并且显示出来,生产者进程将调用WriteToCell()方法向cellContents写入数据。public class Cell { int cellContents; // Cell对象里边的内容 bool readerFlag = false; // 状态标志,为true时可以读取,为false则正在写入 public 阅读全文
posted @ 2011-05-18 19:38
孤獨龍
阅读(702)
评论(0)
推荐(0)
摘要:
对于引用类型和非线程安全的资源的同步处理,有四种相关处理:lock关键字,监视器(Monitor), 同步事件和等待句柄, mutex类。 Lock关键字 本人愚钝,在以前编程中遇到lock的问题总是使用lock(this)一锁了之,出问题后翻看MSDN突然发现下面几行字:通常,应避免锁定 public 类型,否则实例将超出代码的控制范围。常见的结构 lock (this)、lock (typeof (MyType)) 和 lock ("myLock") 违反此准则:如果实例可以被公共访问,将出现 lock (this) 问题。如果 MyType 可以被公共访问,将出现 l 阅读全文
posted @ 2011-05-18 19:30
孤獨龍
阅读(400)
评论(0)
推荐(0)
摘要:
方法一: //须添加对System.Web的引用 using System.Web.Security; ... /// <summary> /// SHA1加密字符串 /// </summary> /// <param name="source">源字符串</param> /// <returns>加密后的字符串</returns> public string SHA1(string source) { return FormsAuthentication.HashPasswordForStoringI 阅读全文
posted @ 2011-05-18 00:24
孤獨龍
阅读(348)
评论(0)
推荐(0)

浙公网安备 33010602011771号