csharp:线程

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
csharp:线程 [2025/11/27 13:04] – [线程与进程 (Threads & Processes)] 张叶安csharp:线程 [2025/11/27 13:05] (当前版本) – [Task.Run 案例] 张叶安
行 77: 行 77:
 `Thread` 是 C# 中最基础的线程操作类。线程是进程中的执行单元。 `Thread` 是 C# 中最基础的线程操作类。线程是进程中的执行单元。
  
-==== 200-10-1:Thread 基础案例 ====+==== Thread 基础案例 ====
  
 <code csharp> <code csharp>
行 114: 行 114:
 </code> </code>
  
-<note warning>+
 **关于 Suspend 和 Resume** **关于 Suspend 和 Resume**
 代码中提到的 `thread.Suspend()` (暂停) 和 `thread.Resume()` (恢复) 方法在现代 .NET 开发中已被**标记为过时 (Obsolete)** 且不建议使用。 代码中提到的 `thread.Suspend()` (暂停) 和 `thread.Resume()` (恢复) 方法在现代 .NET 开发中已被**标记为过时 (Obsolete)** 且不建议使用。
 +
 原因:如果在持有锁或资源时强制暂停线程,极易导致死锁 (Deadlock)。建议使用 `ManualResetEvent` 或 `AutoResetEvent` 等信号量机制来控制线程的暂停与继续。 原因:如果在持有锁或资源时强制暂停线程,极易导致死锁 (Deadlock)。建议使用 `ManualResetEvent` 或 `AutoResetEvent` 等信号量机制来控制线程的暂停与继续。
-</note>+
  
 ==== 跨线程 UI 操作 ==== ==== 跨线程 UI 操作 ====
行 211: 行 212:
  
 **Thread 与 Task 的简单对比:** **Thread 与 Task 的简单对比:**
-*   **Thread**: 是一辆私家车。每次出门(执行任务)都要现买一辆车(创建线程开销大),用完就报废(销毁)。 +  *   **Thread**: 是一辆私家车。每次出门(执行任务)都要现买一辆车(创建线程开销大),用完就报废(销毁)。 
-*   **Task**: 是出租车。出门时打车(从线程池取线程),到了目的地后,车子不报废,而是去拉下一个乘客(线程复用,性能高)。+  *   **Task**: 是出租车。出门时打车(从线程池取线程),到了目的地后,车子不报废,而是去拉下一个乘客(线程复用,性能高)。

该主题尚不存在

您访问的页面并不存在。如果允许,您可以使用创建该页面按钮来创建它。

  • csharp/线程.1764219880.txt.gz
  • 最后更改: 2025/11/27 13:04
  • 张叶安