本帖最后由 qqhao01 于 2013-9-13 14:07 编辑
你先要知道线程是进程中的内容,每一个应用程序里面至少都有一个线程,因为线程就是进程中的一个独立的控制单元或叫执行路径。
多线程就是多个控制单元。怎么让它们一起运行呢?java就提供了一个Thread类
在Thread类中有一个run方法,它是用于存储线程要运行的代码。
你把一个一个的要运行的线程放进去。之后调用线程的start方法,它就会启动线程,调用run方法,run方法的功能就会执行这些线程,让cpu在做着快速的切换,看上去就像是同时运行。
sleep方法需要指定睡眠时间,单位是毫秒。就是你用了这个方法运行到这的线程就会睡着,时间你定义,就像闹钟,你定义的时间到了,他就被叫醒,在往下运行。
上面这些是我自己的一些看法
下面的是我看视频里的 希望可以帮到你
继承Thread类是创建线程的方式之一。
步骤:
1.定义类继承Thread
2.复写Thread类中的run方法
目的:将自定义的代码存储在run方法中,让线程运行。
3.调用线程的start方法//开启线程并执行该线程的run方法
该方法两个作用:启动线程,调用run方法
多线程运行过程:
在某一个时刻,只有一个程序在运行。
cpu在做着快速的切换,以达到看上去是同时运行的效果。
我们可以形象的把多线程的运行行为看做在互相抢夺cpu的执行权。
这就是多线程的一个特性:随机性。谁抢到谁执行,至于执行多长,cpu说的算。
为什么要覆盖run方法呢?
Thread类用于描述线程。
该类就定义了一个功能,用于存储线程要运行的代码,该存储功能就是run方法。
也就是说Thread类中的run方法,用于存储线程要运行的代码。有了run方法才能运行线程。
一般鼓励使用第二种方法(实现Runnable接口),因为Java里面只允许单一继承,但允许实现多个接口。第二个方法更加灵活。
|