最近这个公司是做 winfrom 开发的 , 这段时间就好好的学学WCF , 公司框架什么的自己去琢磨! 这里主要写一些 winfrom 中 用到的一些陌生 技术 1.BeginInvoke  以前B/S开发是异步 , 不需要开什么... 这里不知道怎么描述(待我学过后来总结) http://developer.51cto.com/art/200908/141587.htm 查看MSDN如下: Control..::.Invoke          ---> 在拥有此控件的基础窗口句柄的线程上执…
一.C#线程概述 在操作系统中一个进程至少要包含一个线程,然后,在某些时候需要在同一个进程中同时执行多项任务,或是为了提供程序的性能,将要执行的任务分解成多个子任务执行.这就需要在同一个进程中开启多个线程.我们使用C#编写一个应用程序(控制台或桌面程序都可以),然后运行这个程序,并打开windows任务管理器,这时我们就会看到这个应用程序中所含有的线程数,如下图所示. 如果任务管理器没有“线程数”列,可以[查看]>[选择列]来显示“线程计数”列.从上图可以看出,几乎所有的进程都拥有两个以上的线程…
转载自:http://www.cnblogs.com/levin9/articles/2319248.html 开发语言:C#3.0IDE:Visual Studio 2008本系列教程主要包括如下内容:1.  BeginInvoke和EndInvoke方法2.  Thread类3. 线程池4. 线程同步基础5. 死锁6. 线程同步的7种方法7. 如何在线程中访问GUI组件一.线程概述在操作系统中一个进程至少要包含一个线程,然后,在某些时候需要在同一个进程中同时执行多项任务,或是为了提供程序的性…
目的         了解线程池的知识后,写个线程池实例,熟悉多线程开发,建议看jdk线程池源码,跟大师比,才知道差距啊O(∩_∩)O 线程池类 package thread.pool2; import java.util.LinkedList; public class ThreadPool { //最大线程数 private int maxCapacity; //初始线程数 private int initCapacity; //当前线程数 private int currentCapaci…
一.C#线程概述 在操作系统中一个进程至少要包含一个线程,然后,在某些时候需要在同一个进程中同时执行多项任务,或是为了提供程序的性能,将要执行的任务分解成多个子任务执行.这就需要在同一个进程中开启多个线程.我们使用C#编写一个应用程序(控制台或桌面程序都可以),然后运行这个程序,并打开windows任务管理器,这时我们就会看到这个应用程序中所含有的线程数,如下图所示. 如果任务管理器没有“线程数”列,可以[查看]>[选择列]来显示“线程计数”列.从上图可以看出,几乎所有的进程都拥有两个以上的线程…
主要功能 跨线程获取控件值,以DataGridView为例,结合BeginInvoke和EndInvoke使用 一行代码 object cellValue = dataGridView.ExInvokeGetCellValue(0,1); 代码封装 /// <summary> /// DataGridView获取单元格值 /// </summary> /// <param name="dataGridView"></param> ///…
让我们首先了解下什么时候用到C#异步调用: .NET Framework 允许您C#异步调用任何方法.定义与您需要调用的方法具有相同签名的委托:公共语言运行库将自动为该委托定义具有适当签名的BeginInvoke 和EndInvoke 方法. BeginInvoke 方法用于启动C#异步调用.它与您需要异步执行的方法具有相同的参数,只不过还有两个额外的参数(将在稍后描述).BeginInvoke 立即返回,不等待C#异步调用完成.BeginInvoke 返回IasyncResult,可用于监视调…
让我们首先了解下什么时候用到C#异步调用: .NET Framework 允许您C#异步调用任何方法.定义与您需要调用的方法具有相同签名的委托:公共语言运行库将自动为该委托定义具有适当签名的BeginInvoke 和EndInvoke 方法. BeginInvoke 方法用于启动C#异步调用.它与您需要异步执行的方法具有相同的参数,只不过还有两个额外的参数(将在稍后描述).BeginInvoke 立即返回,不等待C#异步调用完成.BeginInvoke 返回IasyncResult,可用于监视调…
学习多线程之前我们先了解一下电脑的一些概念,比如进程,线程,这个参考https://www.cnblogs.com/loverwangshan/p/10409755.html 这篇文章.今天我们接着来介绍同步方法和异步方法. 一:同步方法:在程序继续执行之前需要等待同步方法执行完毕返回结果 通俗的例子就是: 邀请wss次饭,wss要忙一会儿,邀请人等着wss完成后,再一起去吃饭,这就是所谓的诚心诚意的请人吃饭.下面我通过代码来举例来说明一下同步方法: /// <summary> /// 一个比…
为什么要进行异步回调?众所周知,普通方法运行,是单线程的,如果中途有大型操作(如:读取大文件,大批量操作数据库,网络传输等),都会导致方法阻塞,表现在界面上就是,程序卡或者死掉,界面元素不动了,不响应了.异步方法很好的解决了这些问题,异步执行某个方法,程序立即开辟一个新线程去运行你的方法,主线程包括界面就不会死掉了.异步调用并不是要减少线程的开销, 它的主要目的是让调用方法的主线程不需要同步等待在这个函数调用上, 从而可以让主线程继续执行它下面的代码. BeginInvoke方法可以使用线程异步…