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

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

本文仅为笔记整理,所有内容均来自网络

一、异步执行(让执行过程要较长等待时间的方法异步执行)

    1、异步方法:在方法调用前为异步方法指定一个回调函数,方法调用后被线程池中的一个线程接管,执行该方法。主线程立即返回,继续执行其他工作。如果异步方法执行完毕,会自动执行回调方法,处理异步方法的调用结果。实现:通过异步委托调用BeginInvokeEndInvoke方法来实现异步方法,

    2、IAsyncResult BeginInvoke(委托参数列表, AsyncCallback callback回调用函数, object o附加信息[赋值到IAsyncResult .AsyncState中])
    3、委托返回值类型 EndInvoke(IAsyncResult result) 结束后台线程
   4、 IAsyncResult :异步结果 属性:IsCompleted是否完成 AsyncWaitHandle关联的等待句柄[WaitHandle对象:waitone(超时时间,bool)]  AsyncState(用户定义的对象)
    5、AsyncCallback:public delegate void AsyncCallback(IAsyncResult ar)

二、线程池

  1、线程池通过为应用程序提供一个由系统管理的辅助线程池,使您可以有效地使用线程。在首次创建ThreadPool类的实例时被创建。线程池具有每个可用处理器25个线程的默认限制,可以将与等待操作不相关的工作排列到线程池。

 2、ThreadPool类是利用多个线程最方便且最好的方法用以处理一些需要多个线程的较短任务,调用QueueUserWorkItem 方法。bool QueueUserWorkItem(WaitCallback callBack, object state) WaitCallback:public delegate void WaitCallback(object state);

 

 

 

 

转载于:https://www.cnblogs.com/zzfy/p/7345057.html

你可能感兴趣的文章
css3做的nav
查看>>
汇编笔记
查看>>
在线枚举内核模块函数及地址(win64位)
查看>>
deploy nginx using saltstack
查看>>
rsync实现文件传输
查看>>
控件联动(三级联动)
查看>>
shell编程学习
查看>>
点击qq、点击邮箱01
查看>>
时间处理总结(三)javascript与WCF
查看>>
构建之法笔记4
查看>>
FOB注意事项
查看>>
Ubantu下安装jdk 教程
查看>>
ActiveMQ入门实例
查看>>
手机monkey测试BUG重现及解决方法
查看>>
linux安装至少有哪两个分区,各自作用是什么?
查看>>
转载: 数据库索引原理和优缺点
查看>>
swoole 安装和简单实用
查看>>
文件系统 第八次迭代 VFS相关说明
查看>>
InfoPi运行机制介绍
查看>>
速读《构建之法:现代软件工程》提问
查看>>