线程上下文切换的性能损耗测试
作者:网络转载 发布时间:[ 2014/6/18 14:20:07 ] 推荐标签:性能损耗测试 性能测试
|
1: class Program
2: {
3: static void Main(string[] args)
4: {
5:
6: string inputText = GetUserChoice();
7:
8: while (!"4".Equals(inputText))
9: {
10: ThreadTester tester = GreateThreadTesterByInputText(inputText);
11: tester.Start();
12:
13: while (true)
14: {
15: Console.WriteLine(GetStatusOfThreadTester(tester));
16: if (!tester.IsTesterRunning())
17: {
18: break;
19: }
20: Thread.Sleep(100);
21: }
22:
23: inputText = GetUserChoice();
24: }
25:
26: Console.Write("Click enter to exit...");
27: }
28:
29: private static string GetStatusOfThreadTester(ThreadTester tester)
30: {
31: return string.Format("[耗时{0}ms] counter = {1}, {2}",
32: tester.GetElapsedMillisecondsOfIncreaseCounter(), tester.GetCounter(),
33: tester.IsTesterRunning() ? "running" : "stopped");
34: }
35:
36: private static ThreadTester GreateThreadTesterByInputText(string inputText)
37: {
38: switch (inputText)
39: {
40: case "1":
41: return new SingleThreadTester();
42: case "2":
43: return new TwoThreadSwitchTester();
44: default:
45: return new MultiThreadTester(100);
46: }
47: }
48:
49: private static string GetUserChoice()
50: {
51: Console.WriteLine(@"==Please select the option in the following list:==
52: 1. SingleThreadTester
53: 2. TwoThreadSwitchTester
54: 3. MultiThreadTester
55: 4. Exit");
56:
57: string inputText = Console.ReadLine();
58:
59: return inputText;
60: }
61: }
|
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。

sales@spasvo.com