前言
线程是一个程序内部的顺序控制流。cpu实际上在一个时间点上,只执行一个。只不过我们把cup分成了多个时间片,由于速度很快,我们看起来像是多个线程。就像你的时间分成几片,这样整体看来做事情有规律,效率就会高,何况是cup呢。
线程的创建和启动:
(1)定义Thread
类的子类,并重写了该类的run()
方法,该run()
方法的方法就代表了线程需要完成的任务。因此把run()
方法称为线程执行体
(2)创建Thread
子类的实例,即创建了线程对象
(3)调用线程对象的start()
方法来启动该线程
源代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
// 通过继承Thread类来创建线程类 public class FirstThread extends Thread { private int i; //重写run()方法,run()方法的方法体是线程执行体 public void run() { for (;i< 100 ;i++) { //当线程类继承Thread类时,直接使用this即可获取当前数据 //Thread对象的getName()返回当前线程的名字 //因此可以直接调用getName()方法返回当前线程的名字 System.out.println(getName()+””+i); } } public static void main(String[] args) { for ( int i= 0 ;i< 100 ;i++) { //调用Thread的currentThread()方法获取当前线程 System.out.println(Thread.currentThread().getName() +””+i); if (i== 20 ) { //创建并启动第一个线程 new FirstThread().start(); //创建并启动第二个线程 new FirstThread().start(); } } } } |
运行界面:
总结
以上就是本文的全部内容,希望对大家的学习和工作有所帮助。如果有疑问可以留言讨论。