.net IAsyncResult 异步操作
2024-08-28 21:46:35
//定义一个委托
public delegate int DoSomething(int count); //BeginInvoke 的回调函数
private static void Execute(IAsyncResult async)
{
DoSomething temp = (DoSomething)async.AsyncState;
int sum = temp.EndInvoke(async);
Console.WriteLine("线程结束:值为" + sum);
} /// <summary>
/// 判断输入的整数是不是素数
/// </summary>
/// <param name="candidate">输入的整数</param>
/// <returns>为素数返回true,否则返回false</returns>
public static bool IsPrime(int candidate)
{
bool retVal = true;
//使用递增方式会更有效率,
//但是在演示取消功能时,使用递减的数字会更好。
//for (int i = 2; i < candidate / 2; i++)
for (int i = candidate / 2 + 1; i > 1; i--)
{
if (candidate % i == 0)
{
retVal = false;
break;
}
}
return retVal;
} private static int maseggs(int count)
{
int result = 0;
for (int index = 0; index < count; index++)
{
if (IsPrime(index + 1))
{
result++;
}
}
return result;
} static void Main(string[] args)
{
DoSomething hidands = new DoSomething(maseggs);
IAsyncResult async = hidands.BeginInvoke(100000, new AsyncCallback(Execute), hidands);
//这里还有100行代码
Console.WriteLine("消息获取成功"); Console.ReadLine();
}
最新文章
- 【python】点分十进制ip与数字互转
- 一个有意思的js小问题
- 2016年10月27日--css样式表
- iOS 判断第一个字符是数字还是汉字
- Linux文件系统性能优化 (转)
- fibonacci数列的和取余(2)
- 解决港版A1530 ios8 联通4G 电话打不进无法接通的问题,联通4G开关开启方法
- hadoop 2.4 伪分布式模式
- 使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境
- Angular service
- 《JavaScript设计模式与开发实践》-面向对象的JavaScript
- jdk1.5 jdk1.6 jdk1.7 jdk1.8 下载地址
- 虚拟化之KVM的安装篇
- Android一些解决方案内存问题(一)
- Windows系统服务的编写。
- C++待解
- c中的可重入和不可重入函数
- iOS开发实战-时光记账Demo 本地数据库版
- Leetcode_165_Compare Version Numbers
- Angular_上拉刷新