一、简单的线程声明。
⒈需要应用命名空间。
using
System.Threading;
⒉声明格式:
Thread 线程名 = new Thread(new Thread.start(方法名));
二、用lock()方法来限制线程。
lock
(
this
)
{
}
{
}
lock()方法内的内容一次只允许一个线程调用。
三、多线程任务:“用10个线程创建1000个txt文本文档。”
代码
1
using
System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading;
6 using System.IO;
7
8 namespace 简单线程
9 {
10 class Program
11 {
12 static void Main( string [] args)
13 {
14 // 声明Write类。
15 Write write1 = new Write();
16
17 // 创建多个线程。
18 Thread thread1 = new Thread( new ThreadStart(write1.WriteText));
19 Thread thread2 = new Thread( new ThreadStart(write1.WriteText));
20 Thread thread3 = new Thread( new ThreadStart(write1.WriteText));
21 Thread thread4 = new Thread( new ThreadStart(write1.WriteText));
22 Thread thread5 = new Thread( new ThreadStart(write1.WriteText));
23 Thread thread6 = new Thread( new ThreadStart(write1.WriteText));
24 Thread thread7 = new Thread( new ThreadStart(write1.WriteText));
25 Thread thread8 = new Thread( new ThreadStart(write1.WriteText));
26 Thread thread9 = new Thread( new ThreadStart(write1.WriteText));
27 Thread thread10 = new Thread( new ThreadStart(write1.WriteText));
28 thread1.Start();
29 thread2.Start();
30 thread3.Start();
31 thread4.Start();
32 thread5.Start();
33 thread6.Start();
34 thread7.Start();
35 thread8.Start();
36 thread9.Start();
37 thread10.Start();
38
39 }
40
41 public class Write
42 {
43 // 创建一个累加的方法,其一避免同一个文本名同时创建,其二避免两个线程同时调用创建同一个文本名。
44 int x = 0 ;
45 public int Num()
46 {
47 x ++ ;
48 return x;
49 // 注意:如果直接用return x++;会先返回x,再++。
50 }
51
52 // 线程方法。
53 public void WriteText()
54 {
55
56 for ( int i = 0 ; i < 100 ; i ++ )
57 {
58 // y获取累加的x。
59 int y = Num();
60
61 // 使用File方法需要引用命名空间System.IO。
62 // 输入路径时要多输入一个"\",第一个"\"是转译符。
63 // File.WriteAllText(参数1,参数2),参数1为文本名及路径,参数2为文本内容。
64 File.WriteAllText( " H:\\Blog_Work\\简单线程\\多线程创建的文件\\ " + y + " .txt " , " AAAAAA " );
65 }
66
67 }
68 }
69 }
70 }
71
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading;
6 using System.IO;
7
8 namespace 简单线程
9 {
10 class Program
11 {
12 static void Main( string [] args)
13 {
14 // 声明Write类。
15 Write write1 = new Write();
16
17 // 创建多个线程。
18 Thread thread1 = new Thread( new ThreadStart(write1.WriteText));
19 Thread thread2 = new Thread( new ThreadStart(write1.WriteText));
20 Thread thread3 = new Thread( new ThreadStart(write1.WriteText));
21 Thread thread4 = new Thread( new ThreadStart(write1.WriteText));
22 Thread thread5 = new Thread( new ThreadStart(write1.WriteText));
23 Thread thread6 = new Thread( new ThreadStart(write1.WriteText));
24 Thread thread7 = new Thread( new ThreadStart(write1.WriteText));
25 Thread thread8 = new Thread( new ThreadStart(write1.WriteText));
26 Thread thread9 = new Thread( new ThreadStart(write1.WriteText));
27 Thread thread10 = new Thread( new ThreadStart(write1.WriteText));
28 thread1.Start();
29 thread2.Start();
30 thread3.Start();
31 thread4.Start();
32 thread5.Start();
33 thread6.Start();
34 thread7.Start();
35 thread8.Start();
36 thread9.Start();
37 thread10.Start();
38
39 }
40
41 public class Write
42 {
43 // 创建一个累加的方法,其一避免同一个文本名同时创建,其二避免两个线程同时调用创建同一个文本名。
44 int x = 0 ;
45 public int Num()
46 {
47 x ++ ;
48 return x;
49 // 注意:如果直接用return x++;会先返回x,再++。
50 }
51
52 // 线程方法。
53 public void WriteText()
54 {
55
56 for ( int i = 0 ; i < 100 ; i ++ )
57 {
58 // y获取累加的x。
59 int y = Num();
60
61 // 使用File方法需要引用命名空间System.IO。
62 // 输入路径时要多输入一个"\",第一个"\"是转译符。
63 // File.WriteAllText(参数1,参数2),参数1为文本名及路径,参数2为文本内容。
64 File.WriteAllText( " H:\\Blog_Work\\简单线程\\多线程创建的文件\\ " + y + " .txt " , " AAAAAA " );
65 }
66
67 }
68 }
69 }
70 }
71
Over