博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.NET多线程
阅读量:6800 次
发布时间:2019-06-26

本文共 679 字,大约阅读时间需要 2 分钟。

  hot3.png

1、当线程的ThreadState==ThreadState.Stop时,一般就说明线程完成了工作。如果不是这个状态,就继续执行别的工作,或者等待一会,然后再尝试。

2、能够自定义参数个数,并且返回数据。使用委托的异步调用方法和回调。

3、把异步调用的方法定义为一个委托,然后利用BeginInvoke来异步调用,BeginInvoke的第一参数就是执行,第二个是当线程执行完毕后的调用的方法。在线程执行完毕后执行的方法TaskFinished中,我们使用了EndInvoke来取得这个函数的返回值。

4、线程虽然是个好东西,但是也是资源消耗大户,许多时候,我们需要使用多线程,但是又不希望线程的数量过多,这就是线程池的作用。.NET为我们提供了线程的线程池ThreadTool。首先定义一个WaitCallBack委托,WaitCallback的格式是void WaitCallBack(object state),也就是说你的方法必须符合这个格式,接着调用QueueUserWorkItem,将这个任务加入到线程池,当线程池有空闲时,将会调度并运行你的代码。由于每个进程只有一个线程池,所以如果是IIS进程,或者sqlserver的进程中使用线程池,并且需要设置线程池的最大容量的话,会影响到IIS进程或sql进程。

5、WinForm对线程有很严格的要求,除了创建这些控件的线程,其他线程想跨线程访问WinForm上的控件的属性和方法是不允许的。特殊属性可以。

转载于:https://my.oschina.net/loveyj/blog/202837

你可能感兴趣的文章
Nginx的反向代理及负载均衡
查看>>
Shell 十三问学习笔记5
查看>>
华为PPP链路认证
查看>>
Zend Server 安装配置
查看>>
wuzhicms后台菜单的添加
查看>>
hadoop搭建
查看>>
修改默认defatu.prop
查看>>
我的友情链接
查看>>
【技术碰撞激情,“博”出精彩人生!】2013年度IT博客大赛开幕
查看>>
KeyMob--后者居上的移动广告聚合平台
查看>>
eclipse maven source 乱码
查看>>
Linux系统下UDP发送和接收广播消息小例子
查看>>
每天尝试改变一点点!
查看>>
KNN(K-Nearest Neighbor)最邻近规则分类
查看>>
IntelliJ IDEA 2016.1破解码一枚
查看>>
metasploit ***测试笔记(meterpreter篇)
查看>>
HTTP基础
查看>>
JavaSE学习笔记(五)——类与对象
查看>>
Android之高仿飞鸽传输热点创建与搜索模块
查看>>
Struts2、Spring和Hibernate应用实例(中)
查看>>