zoukankan
html css js c++ java
异步调用委托的3种方法
异步调用委托的3种方法
using
System;
using
System.Collections.Generic;
using
System.Text;
namespace
AsyncDelegate
{
class
Program
{
delegate
int
IntIntDelegate(
int
x);
//
生明一个委托
int
Square(
int
x)
{
return
x
*
x;
}
void
AsyncDelegateExample()
{
IntIntDelegate f
=
Square;
//
方法一
IAsyncResult ar1
=
f.BeginInvoke(
10
,
null
,
null
);
while
(
!
ar1.IsCompleted)
//
循环直到异步完成
Console.WriteLine(f.EndInvoke(ar1));
//
do some work
//
方法二
IAsyncResult ar2
=
f.BeginInvoke(
20
,
null
,
null
);
//
do some work
ar2.AsyncWaitHandle.WaitOne();
//
等待直到异步完成
Console.WriteLine(f.EndInvoke(ar2));
//
方法三 完成后调用回调函数,取得结束通知的结果
IAsyncResult ar3
=
f.BeginInvoke(
30
, AsyncDelegateCallback, f);
}
void
AsyncDelegateCallback(IAsyncResult ar)
//
回调函数
{
IntIntDelegate f
=
(IntIntDelegate)ar.AsyncState;
if
(ar.IsCompleted)
{
Console.WriteLine(f.EndInvoke(ar));
}
//
Console.WriteLine(f.EndInvoke(ar));
}
static
void
Main(
string
[] args)
{
Program test
=
new
Program();
test.AsyncDelegateExample();
//
客户端调用
}
}
}
输出: 100
400
900
查看全文
相关阅读:
IBM实习
软件测试——一些想法
ftp文件上传下载实用命令
Json解析,Json-lib
eclipse Swt编程—窗口小部件widget
Java 泛型
我的理想与现实
Java泛型介绍——HashMap总结
Java语言面向对象的一些基本特点
Java的一些常见问题,JRE,JDK,JVM,包等概念理解
原文地址:https://www.cnblogs.com/xiaobaigang/p/931016.html
最新文章
通过Xshell或Xftp链接Windows10子系统Linux
Linux安装Java Jdk
转 Linux下安装Tomcat服务器和部署Web应用
Git 命令
npm cnpm yarn 安装
Yarn 命令使用
快速构建 React 开发环境
React 组件生命周期
VS Code 启动占用100%Cpu问题解决办法
VSCode空格变成虚点
热门文章
Java输入输出常用类Scanner
基本排序算法——分析总结
基本排序算法——堆排序
基本排序算法——归并排序
基本排序算法——基数排序java实现
基本排序算法——shell排序java实现
基本排序算法——快速排序java实现
基本排序算法——选择排序java实现
基本排序算法——插入排序java实现
基本排序算法——冒泡排序java实现
Copyright © 2011-2022 走看看