多執行緒 嘗試Thread

2021-09-06 05:49:13 字數 977 閱讀 6458

這幾天用到多執行緒時才發現自己對多執行緒的了解少之又少,僅僅停留在lock上面,

好了,我們知道「負載」是乙個很時尚,很牛x的玩意,往大處說,**需要負載,資料庫需要負載。往小處說,執行緒也需要負載,面對海量的

使用者請求,我們的單執行緒肯定扛不住,那麼怎麼辦,一定要負載,所以說多執行緒是我們碼農必須要熟練掌握的一門技術。

在framework中給我們提供了乙個threading命名空間,下面是乙個msdn上不完整的截圖:

在後面的系列中我也是主要整理這幾個類的使用方法和應用場景。

一:thread的使用

我們知道這個類代表處理器執行緒,在thread中有幾個比較常用和重要的方法。

<1> sleep:  這個算是最簡單的了。

<2> join:    這個可以讓並發行處理變成序列化,什麼意思呢?上**說話最清楚。

1 class test

2 15

16 static void run()

17

23 }

<3> interrupt和abort:這兩個關鍵字都是用來強制終止執行緒,不過兩者還是有區別的。

① interrupt:  丟擲的是 threadinterruptedexception 異常。

abort:  丟擲的是  threadabortexception 異常。

contine操作。

abort:這個就是相當於乙個break操作,工作執行緒徹底死掉。 

二:執行緒使用場景

可能執行緒的使用有點類似wcf,做一些耗時但不很及時的需求,比如可以開執行緒下,連線資料庫等等,當然執行緒可以用來做負載。

三:對執行緒的一些思考

我們知道執行緒的優點還是比較多的,每個執行緒都需要預設的堆疊空間,所以說執行緒數受到記憶體空間大小的限制,如果執行緒數開的太多

多執行緒 Thread

如果從另外乙個執行緒操作windows窗體上的控制項,就會與主線程產生競爭,造成不可預料的後果,甚至死鎖。因此,windows gui程式設計有乙個規則 只能通過建立控制項的執行緒來操作控制項的資料!實現方法 要從執行緒外操作windows控制項,那麼就要使用invoke或begininvoke方法...

多執行緒 Thread

static void main string args t.start console.writeline 主線程繼續執行!主線程結束,後台執行緒會自動結束,不管有沒有執行完成 thread.sleep 1500 console.writeline 主線程結束 console.readkey st...

Thread 多執行緒

import threading 首先匯入threading 模組,這是使用多執行緒的前提。threads t1 threading.thread target music,args u 愛情買賣 建立了threads陣列,建立執行緒t1,使用threading.thread 方法,在這個方法中呼叫...