C#多線程測試(1)

來源:互聯網
上載者:User

近來有一個html頁面,內容基本如下:

<html><head><meta http-equiv="Content-Type" contect="text/html" charset="utf-8"></head><form method="POST" action="/hello">姓名:<textarea name="name" cols="60" rows="10"></textarea><input type=submit name=submit value="OK"><br>請選擇類型:<input type="radio" name="type" value="1" checked> 類型1<input type="radio" name="type" value="2" > 類型2<input type="radio" name="type" value="3" > 類型3<input type="radio" name="type" value="4" > 類型4<input type="radio" name="type" value="5" > 類型5<input type="radio" name="type" value="6" > 類型6</form></html>

為了測試使用者點擊該頁面submit按鈕,背景程式的處理結果和反應速度,故研究測試相關內容。

*****以下內容暫時和以上內容無關*****

今天先寫C#的多線程相關。

首現引入using System.Threading;

為了記錄日誌,再引入
using log4net;
using System.Web;
[assembly: log4net.Config.XmlConfigurator(Watch = true)]

在程式中,執行個體化

static ILog log = log4net.LogManager.GetLogger("Log4Net.ProLogThread1");

接下來有兩個步驟,定義工作函數和多線程調用工作函數。

我們的工作函數:

static void doWork(object data)        {            Console.WriteLine("Static thread procedure. Data='{0}'", data);            log.Info(data);        }

注意:參數是object形式,對參數的處理操作是在控制台列印和寫入記錄檔。

多線程調用函數:

static void testDoWork()        {            try            {                using (StreamReader sr = new StreamReader("E:\\ThreadTest\\text.txt"))                {                    String line;                    while ((line = sr.ReadLine()) != null)                    {                        Thread newThread = new Thread(doWork);                        newThread.Start(line);                    }                }            }            catch (Exception e)            {                Console.WriteLine("The file could not be read:");                Console.WriteLine(e.Message);            }        }

注意:Thread類的建構函式的參數是函數名稱,然後在其執行個體對象調用Start方法,並傳入參數。

最後,在主函數Main裡面調用testDoWork函數即可運行程式。

問題:

1、在控制台列印了日誌的內容,不知為什嗎?

2、文本的處理順序不完全是按照原來文本的順序,不知道線程是否做了最佳化?

3、囫圇吞棗,還是有很多細節需要細細研究。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.