随笔分类 - 多线程
摘要:设置 System.Net.ServicePoint 对象所允许的最大并发连接数System.Net.ServicePoint 对象允许的最大并发连接数。默认值为 2System.Net.ServicePointManager.DefaultConnectionLimit = 512;
阅读全文
摘要:C#线程暂停与继续解决方案昨天, 老师要我们每个人交一个关于黑客方面的程序,想了半天发现端口扫描工具好像好写点,从昨天写到今天基本快完成了,给大家看下效果,不要笑话我哦哦(~~)图1 端口扫描器 这个程序里面有一些地方不太满意,就是扫描的暂停与继续实现时,使用的是Thread.Suspend和Thread.Resume而这两个方法,在VS2010里提示已经过时,不建议使用,在网上查阅了一些资料,发现有个事件通知的方法很好,事件通知的大致原理是,线程在执行过程中暂停,等到其他线程通知时才继续执行下去,这样的确是可以起到暂停与继续的效果。但是,这种暂停是被动的,我需要的是主动暂停,即点下按钮,线程
阅读全文
摘要:1 using System; 2 using System.Threading; 3 using System.Windows.Forms; 4 5 namespace WebBrowserTest 6 { 7 public partial class MainForm : Form 8 { 9 public MainForm()10 {11 InitializeComponent();12 }13 14 public static ChildForm childForm;15 16 ...
阅读全文
摘要:一,基本概念什么是进程?“进程”是操作系统的最基本的,也是最重要的概念之一。简单来说一个进程就是你正在执行的应用程序,一个进程里面包括一个或多个线程。系统中的一个进程肯定对应着一个应用程序,但同一个应用程序可以有多个进程。所以我们要清楚,进程和程序是相关联的,但并不是同一个概念。即应用程序被加载到内存中后叫进程。什么是线程?线程简单来说就是程序中的一个执行流,每个线程都有自己的专有寄存器同时代码区是共享的,即不同的线程可以执行同样的函数和访问同样的变量。 即进程被CPU处理时叫线程。什么是多线程?多线程简单的说就是在一个程序中包含多个程序流,可以把一个复杂的操作分成多个细节操作,这些细节操作可
阅读全文
摘要:多线程部分 多线程在4.0中被简化了很多,仅仅只需要用到System.Threading.Tasks.::.Task类,下面就来详细介绍下Task类的使用。 一、简单使用 开启一个线程,执行循环方法,返回结果。开始线程为Start(),等待线程结束为Wait()。Code /// <summary> /// Task简单使用 /// </summary> private void Demo1() { int i = 0; Random r = new Random(DateTime.Now.Second); Task t = new Task(() => { fo
阅读全文
摘要:并行计算部分 沿用微软的写法,System.Threading.Tasks.::.Parallel类,提供对并行循环和区域的支持。 我们会用到的方法有For,ForEach,Invoke。 一、简单使用 首先我们初始化一个List用于循环,这里我们循环10次。(后面的代码都会按这个标准进行循环)Code Program.Data = new List<int>(); for (int i = 0; i < 10; i++) { Data.Add(i); } 下面我们定义4个方法,分别为for,foreach,并行For,并行ForEach。并测试他们的运行时长。Code //
阅读全文

浙公网安备 33010602011771号