多線程應用程式

来源:http://www.cnblogs.com/liqingwen/archive/2017/06/29/7092976.html
-Advertisement-
Play Games

我們習慣在一個單獨的線程中額外執行一些耗時,或者執行一些可能妨礙其他任務的任務的操作,通過多個線程的合理運用,讓客戶端得到更為快速的響應方式。通過利用單獨的線程去執行 CPU 密集型和 IO 密集型的工作,讓用戶界面一直處於活躍狀態。當然,任何事物都具有兩面性,處理不當的話會誘發線程安全的問題。 創 ...


 

  我們習慣在一個單獨的線程中額外執行一些耗時,或者執行一些可能妨礙其他任務的任務的操作,通過多個線程的合理運用,讓客戶端得到更為快速的響應方式。通過利用單獨的線程去執行 CPU 密集型和 IO 密集型的工作,讓用戶界面一直處於活躍狀態。當然,任何事物都具有兩面性,處理不當的話會誘發線程安全的問題。

 

創建與使用線程

  我們常使用 new 關鍵字對線程實現創建,下麵是一些常見的線程方法。

            //創建線程
            var thread = new Thread(() => Console.WriteLine());

            //啟動
            thread.Start();

            //終止
            thread.Abort();

            #region 方法已過時

            //掛起
            thread.Suspend();

            //恢復掛起的線程
            thread.Resume();

            #endregion 方法已過時

 

線程屬性

  一些常見的屬性。

            //線程優先順序
            //thread.Priority

            //線程的狀態
            //thread.ThreadState

            //線程的執行狀態
            //thread.IsAlive

            //是否後臺線程
            //thread.IsBackground

            //線程名稱
            //thread.Name

 

線程的優先順序

  CPU 會向優先順序高的線程分配更長的時間段。

 

後臺線程

  後臺線程會在最後一個前臺線程停止後立即停止。

 

 

 

 


【參考】https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/concepts/threading/multithreaded-applications

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一。關於安裝 1.可以直接通過vs自帶的Nuget包管理器來搜索下載,直接搜索“NLog”: 註意,除了要安裝第一個之外,一定要安裝“NLog.Config”,否則無法在項目中正常使用NLog的配置文件。 二。配置NLog。 1.打開NLog.config文件,在<targets>標簽內加入對應的日 ...
  • 本文博主將從零開始,一步一步的告訴大家如何在前端用bootstrap Table插件展示一個表格 首先,要下載bootstrap Table插件所必須的js,地址:https://github.com/wenzhixin/bootstrap-table 官方文檔地址:http://bootstrap ...
  • 密碼強度有4個狀態,分別如下圖。 無密碼狀態 密碼低級狀態 密碼中級狀態 密碼高級狀態 實現的代碼主要如下: HTML代碼 <input name="password" type="PassWord" onKeyUp="CheckIntensity(this.value)"><table borde ...
  • 根據http和ftp圖片地址獲取對應圖片的縮略圖和原圖 public class GetBitmapImageClass { public BitmapSource GetImageHttp(string url,int width) { var image = new BitmapImage(); ...
  • 首先列出HttpHelper類 /// <summary> /// Http操作類 /// </summary> public class HttpHelper { private static log4net.ILog mLog = log4net.LogManager.GetLogger("Ht ...
  • 前言 關於 ASP.NET Core 2.0 的新功能可以查看我的 "這篇博客" 。 這篇文章是 Priview2中的一些改進。 .NET Core 2.0 Preview2 Azure 的改進 Docker 鏡像轉移到了 Debian Stretch 修複並支持 macOS High Sierra ...
  • 前言 ,想利用小程式導航頁面來提升網站的流量,找到 www.xcxdh666.com 該小程式導航網站。 分析網頁 1 發現網站其實也是用非同步分頁請求載入數據的 ,所以根本用不著xpath 解析html,直接分析其請求url 2點擊載入更多找到請求,發現其實就 pageNum ,cagegory 兩 ...
  • 建議 依賴 <package id="Anotar.NLog.Fody" version="3.3.0" targetFramework="net40" developmentDependency="true" /> <package id="Fody" version="2.1.0" target ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...