zoukankan
html css js c++ java
(二)线程通过委托异步调用方法
(一).描述
先运行个简单的线程示例,认识一下线程
通过委托调用方法,以及使用AsyncResult判断线程的状态
(二).代码
using
System;
using
System.Threading;
using
System.Runtime.Remoting.Messaging;
namespace
通过委托异步调用方法
{
//
委托声明(函数签名)
delegate
string
MyMethodDelegate();
class
MyClass
{
//
要调用的动态方法
public
string
MyMethod1()
{
return
"
Hello Word1
"
;
}
//
要调用的静态方法
public
static
string
MyMethod2()
{
return
"
Hello Word2
"
;
}
}
class
Class1
{
/**/
///
<summary>
///
应用程序的主入口点。
///
</summary>
[STAThread]
static
void
Main(
string
[] args)
{
MyClass myClass
=
new
MyClass();
//
方式1: 声明委托,调用MyMethod1
MyMethodDelegate d
=
new
MyMethodDelegate(myClass.MyMethod1);
string
strEnd
=
d();
Console.WriteLine(strEnd);
//
方式2: 声明委托,调用MyMethod2 (使用AsyncResult对象调用)
d
=
new
MyMethodDelegate(MyClass.MyMethod2);
//
定义一个委托可以供多个方法使用
AsyncResult myResult;
//
此类封闭异步委托异步调用的结果,通过AsyncResult得到结果.
myResult
=
(AsyncResult)d.BeginInvoke(
null
,
null
);
//
开始调用
while
(
!
myResult.IsCompleted)
//
判断线程是否执行完成
{
Console.WriteLine(
"
正在异步执行MyMethod2
..
"
);
}
Console.WriteLine(
"
方法MyMethod2执行完成!
"
);
strEnd
=
d.EndInvoke(myResult);
//
等待委托调用的方法完成,并返回结果
Console.WriteLine(strEnd);
Console.Read();
}
}
}
查看全文
相关阅读:
Mybatis-Plus02 CRUD
Idea一直卡在loading archetype list问题解决(或者报Unable to import maven project: See logs for details)
Mybatis-Plus01 快速开始
用PS给视频磨皮美颜
Linux基本内容
【maven】IDEA工程右边的maven配置中Plugins有重复的命令
段誉身具凌波微波,动无常则,若危若安,一次能走一级台阶或者两级台阶,他要爬一段30级的山路,问有多少种走法?分析如何计算,然后编程解答。 进阶问题:当他轻功熟练度提升,一次最多可以走三级,那就结果有什么变化?后来走火入魔了,不能走一级,只能走二或三级,又有什么变化?
小陆每天要写一份工作日报,日报标题含有日期。几年后,他翻开以前的日报,想知道两份日报的日期是否同为星期几,请编程帮助他判断。
高性能HTML5/JS开发框架DevExtreme 新版——v20.2.7发布
跨平台UI开发框架DevExpress XAF 拥有超强性能,你Get了吗?
原文地址:https://www.cnblogs.com/engine1984/p/862970.html
最新文章
安装和使用GitLab
注意sonarQube与sonarRunner 的版本匹配
另一个程序正在使用此文件,进程无法访问
使用SonarQube和SonarQube Scanner分析项目
Window 环境下SonarQube的安装与部署
Jenkins教程:在Windows平台安装Jenkins
windows下安装Hadoop,就是这么简单
HADOOP之YARN简介
004 Android Studio中主题和字体配置
241 Android Studio中SDK的配置
热门文章
240 Android Studio下载与安装
239 Android Studio使用指南简介
238 Android开发的IDE使用说明
003 AndroidStudio 开发中,只是资源和方法代码改变的时候,使用闪电图标,让模拟器响应的更快
002 Android Studio与夜神模拟器的环境搭建&开发调试
237 Android发展及应用前景
236 Android发展史
235 Android概况
前后端分离
Mybatis-Plus03 代码自动生成器
Copyright © 2011-2022 走看看