01
using
System;
02
using
System.Collections;
03
using
System.Threading;
04
05
public
class
Test
06
{
07
08
public
static
void
Main()
09
{
10
Test obj =
new
Test();
11
Console.WriteLine(Thread.CurrentThread.ManagedThreadId.ToString());
12
13
14
Thread thread =
new
Thread(
new
ThreadStart(obj.Method1));
15
thread.Start();
16
17
18
19
System.Timers.Timer t =
new
System.Timers.Timer(100);
20
t.Elapsed +=
new
System.Timers.ElapsedEventHandler(obj.Method2);
21
t.AutoReset =
true
;
22
t.Enabled =
true
;
23
while
(
true
)
24
{
25
Console.WriteLine(
"test_"
+ Thread.CurrentThread.ManagedThreadId.ToString());
26
Thread.Sleep(100);
27
}
28
29
30
31
32
33
34
35
36
System.Threading.Timer threadTimer =
new
System.Threading.Timer(
new
System.Threading.TimerCallback(obj.Method3),
null
, 0, 100);
37
while
(
true
)
38
{
39
Console.WriteLine(
"test_"
+ Thread.CurrentThread.ManagedThreadId.ToString());
40
Thread.Sleep(100);
41
}
42
43
Console.ReadLine();
44
}
45
46
47
void
Method1()
48
{
49
while
(
true
)
50
{
51
Console.WriteLine(DateTime.Now.ToString() +
"_"
+ Thread.CurrentThread.ManagedThreadId.ToString());
52
Thread.CurrentThread.Join(100);
53
}
54
}
55
56
57
void
Method2(
object
source, System.Timers.ElapsedEventArgs e)
58
{
59
Console.WriteLine(DateTime.Now.ToString() +
"_"
+ Thread.CurrentThread.ManagedThreadId.ToString());
60
}
61
62
63
void
Method3(Object state)
64
{
65
Console.WriteLine(DateTime.Now.ToString() +
"_"
+ Thread.CurrentThread.ManagedThreadId.ToString());
66
}
67
}