欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

.NET提取?Thread?中返回值詳情

 更新時(shí)間:2022年01月07日 11:51:55   作者:DotNetCore實(shí)戰(zhàn)?  
這篇文章主要介紹了.NET提取?Thread?中返回值詳情,關(guān)于如何獲取?Thread?中的返回值,不同的版本有不同的解決方案。需要的朋友可以參考一下

以下文章來(lái)源于公眾號(hào)DotNetCore實(shí)戰(zhàn) 

Igor Bendrup:

關(guān)于如何獲取 Thread 中的返回值,不同的版本有不同的解決方案。

一、.NET 2.0+

你可以直接使用 Thread 對(duì)象,然后你可以使用閉包(聲明變量并在 lambda 中捕獲它),參考如下代碼:

object result = null;
Thread thread = new System.Threading.Thread(() => {?
? ? //Some work...
? ? result = 42; });
thread.Start();
thread.Join();
Console.WriteLine(result);

也可以使用 IAsyncResult 然后在EndInvoke() 方法中獲取返回值。

BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += (s, e) => {
? ? //Some work...
? ? e.Result = 42;
};
worker.RunWorkerCompleted += (s, e) => {
? ? //e.Result "returned" from thread
? ? Console.WriteLine(e.Result);
};
worker.RunWorkerAsync();
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += (s, e) => {
? ? //Some work...
? ? e.Result = 42;
};
worker.RunWorkerCompleted += (s, e) => {
? ? //e.Result "returned" from thread
? ? Console.WriteLine(e.Result);
};
worker.RunWorkerAsync();

還可以使用傳統(tǒng)的 BackgroundWorker,然后在 RunWorkerCompleted  事件中捕獲。

二、.NET 4.0 +

從 .NET 4.0 開始,你可以通過(guò) Task 的方式開啟 Thread,如果想獲取返回值可以提取 Task 中的 Result

如下代碼:

//Main thread will be blocked until task thread finishes
//(because of obtaining the value of the Result property)
int result = Task.Factory.StartNew(() => {
? ? //Some work...
? ? return 42;}).Result;

三、.NET 4.5 +

從 .NET 4.5 開始, 你可以使用 await,async 的方式替代 Task Result 屬性,參考如下代碼:

int result = await Task.Run(() => {
? ? //Some work...
? ? return 42; });

建議:用 Task 來(lái)替代傳統(tǒng) Thread 所做的事情。

到此這篇關(guān)于.NET提取 Thread 中返回值詳情的文章就介紹到這了,更多相關(guān).NET提取 Thread 中返回值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • .Net?Core?配置文件讀取IOptions,IOptionsMonitor,IOptionsSnapshot

    .Net?Core?配置文件讀取IOptions,IOptionsMonitor,IOptionsSnapshot

    這篇文章主要介紹了.Net?Core配置文件讀取IOptions,IOptionsMonitor,IOptionsSnapshot,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • ASP.NET?Core?6最小API中使用日志和DI示例詳解

    ASP.NET?Core?6最小API中使用日志和DI示例詳解

    這篇文章主要為大家介紹了ASP.NET?Core?6最小API中使用日志和DI示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • .NET??Smobiler的復(fù)雜控件的由來(lái)與創(chuàng)造

    .NET??Smobiler的復(fù)雜控件的由來(lái)與創(chuàng)造

    這篇文章主要介紹了.NET Smobiler的復(fù)雜控件的由來(lái)與創(chuàng)造,Smobiler的復(fù)雜控件即利用自定義控件的方式組合控件,來(lái)使控件成為一個(gè)有機(jī)整體,里面的控件可相互協(xié)作交互,并使其達(dá)到高可用
    2022-08-08
  • .NET6新特新?struct優(yōu)化

    .NET6新特新?struct優(yōu)化

    這篇文章主要給大家分享的是?NET6新特新?struct優(yōu)化,在.NET6中針對(duì)Struct做了一些優(yōu)化,下面我們就通過(guò)一些案例來(lái)看一下.NET6中針對(duì)Struct的優(yōu)化,需要的朋友可以參考一下,希望對(duì)大家有所幫助
    2021-11-11
  • ASP.NET?Core使用Middleware設(shè)置有條件允許訪問(wèn)路由

    ASP.NET?Core使用Middleware設(shè)置有條件允許訪問(wèn)路由

    這篇文章主要介紹了ASP.NET?Core使用Middleware設(shè)置有條件允許訪問(wèn)路由,文章圍繞主題相關(guān)資料展開學(xué)習(xí)內(nèi)容,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-02-02
  • asp.net mvc路由篇 如何找到 IHttpHandler方法介紹

    asp.net mvc路由篇 如何找到 IHttpHandler方法介紹

    學(xué)習(xí)是使用asp.net已經(jīng)有很長(zhǎng)一段時(shí)間了,現(xiàn)在就來(lái)分析一下mvc的整過(guò)過(guò)程吧。個(gè)人計(jì)劃寫一個(gè)mvc系列的博文,僅從源代碼的角度來(lái)分析mvc。在接觸mvc時(shí)我們一定會(huì)經(jīng)歷路由,那么路由這東東是怎么搞出來(lái)的啊
    2012-11-11
  • DataGridView控件詳細(xì)介紹

    DataGridView控件詳細(xì)介紹

    DataGridView是用于Windows Froms 2.0的新網(wǎng)格控件。它可以取代先前版本中DataGrid控件,它易于使用并高度可定制,支持很多我們的用戶需要的特性
    2012-11-11
  • 使用.NET6實(shí)現(xiàn)動(dòng)態(tài)API

    使用.NET6實(shí)現(xiàn)動(dòng)態(tài)API

    本文詳細(xì)講解了使用.NET6實(shí)現(xiàn)動(dòng)態(tài)API,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • ASP.NET Core MVC 依賴注入View與Controller

    ASP.NET Core MVC 依賴注入View與Controller

    本文重點(diǎn)給大家介紹的是ASP.NET Core MVC 之依賴注入 View 和ASP.NET Core MVC 之依賴注入 Controller的相關(guān)資料,需要的小伙伴可以參考下面文章具體內(nèi)容
    2021-09-09
  • 詳解如何使用Net將HTML簡(jiǎn)歷導(dǎo)出為PDF格式

    詳解如何使用Net將HTML簡(jiǎn)歷導(dǎo)出為PDF格式

    這篇文章主要為大家介紹了詳解如何使用Net將HTML簡(jiǎn)歷導(dǎo)出為PDF格式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03

最新評(píng)論