c#还有一点不太明白,既然开启了线程为何还要委托呢?
threadroc | 浏览 1611 次 2013-07-15 09:33
既然开启了线程为何还要委托呢?,开启线程本身不就是委托吗?为何委托要显示声明呢?
Thread thread = new Thread(new ThreadStart(getAllRows));
thread.IsBackground = true;
thread.Start();
比如说以上这段代码,getAllRows就是一个普通方法,根本没用委托.
但是,我不太明白,这样也行,为何还要用委托,用委托的作用,好处在在哪里,这里不太懂,望解答.
2013-07-15 09:49
提问者采纳
用了线程,自然就不用委托了
委托最大的好处就是,它处理完以后会有回调事件,然后进行处理
而Thread一旦开启,就无法再控件他了
追问:
那我当初问的,登陆比如登陆100万个账号,取其信息采集,1个线程显然太慢了,所以要多线程,但是你当初说要用委托,是什么意思,不太懂... 望解惑,谢谢
追答:
委托也是一个线程。。。和Thread类似,但他可以有回调事件。。。仅此而已
追问:
啊,既然委托也是线程,不可以用Thread.CurrentThread.Abort()结束该委托启动的线程吗?
如果不能的话,委托怎样停止它自己启动的线程?
追答:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
namespace ConsoleApplication2 { class Program { public delegate String TestMethod(String str); static void Main( string [] args) { TestMethod d= new TestMethod(Hello); d.BeginInvoke( "Shiori" , delegate (IAsyncResult ar) { if (ar.IsCompleted) { TestMethod d = (TestMethod)ar.AsyncState; String result = d.EndInvoke(); //Hello : Shiori } }, d); } static String Hello(String yourName) { return "hello : " + yourName; } } } |
异步委托的示例,你可以看看是怎么回事
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2015-05-07 TTB 基本
2015-05-07 openMP的一点使用经验
2015-05-07 OpenMp 基本
2015-05-07 使用Win32::OLE操作Excel——Excel对象模型
2015-05-07 OLE操作Excel编译错误处理
2015-05-07 在 VS2008 下操作 Excel 的方法总结
2015-05-07 vs2008 ole excel