-------
android培训
、
java培训
、期待与您交流! ----------
线程:就是进程中的一个独立的控制执行单元。线程控制着进程的执行,一个进程中至少存在一个线程。当一个java程序启动时,就会产生一个进程,该进程会默认创建一个线程,在这个线程上回运行main()方法中的代码。
继承Thread类创建多线程
步骤:
1、定义继承类Thread;
2、重写Thread类中的run方法,目的是为了将自定义代码存储在run方法中,让线程运行。
3、调用线程中的start方法,该方法以有两个作用,一是启动线程,而是执行run方法 。
例如:
其结果运行如下:
从运行结果可以看出 ,两个while循环中打印的语句是轮流执行的说明该例子实现了多线程。
第二种方式:实现Runnable接口创建多线程
步骤:1,定义类实现Runnable接口
2,覆盖Runnable接口中的run方法。将线程要运行的代码存放在该run方法中。
3,通过Thread类建立线程对象。
4,将Runnable接口的子类对象作为实际参数传递给Thread类的构造函数。
例如:
其结果运行如下:
该例中,MyThread类实现了Runnable接口,并重写了接口中的run()方法,通过Thread类将MyThread类的实例对象作为参数传入,从运行结果可以看出main()方法和run()方法中的语句都执行了,说明该例实现了多线程。
实现方式和继承方式有什么区别:
(1)、实现方式好处:避免了单继承的局限性 ;
(2)、在定义线程时:建议使用实现方式;
(3)、两种方式区别:
线程概述:
进程:在一个操作系统中,每个独立执行的程序都可以称之为一个进程。在Windows操作系统下,【任务管理器】中的【进程】选项卡中便可查看当前运行的程序,也就是系统的进程。线程:就是进程中的一个独立的控制执行单元。线程控制着进程的执行,一个进程中至少存在一个线程。当一个java程序启动时,就会产生一个进程,该进程会默认创建一个线程,在这个线程上回运行main()方法中的代码。
线程的创建:
第一种方式:继承Thread类创建多线程
步骤:
1、定义继承类Thread;
2、重写Thread类中的run方法,目的是为了将自定义代码存储在run方法中,让线程运行。
3、调用线程中的start方法,该方法以有两个作用,一是启动线程,而是执行run方法 。
例如:
其结果运行如下:
从运行结果可以看出 ,两个while循环中打印的语句是轮流执行的说明该例子实现了多线程。
第二种方式:实现Runnable接口创建多线程
步骤:1,定义类实现Runnable接口
2,覆盖Runnable接口中的run方法。将线程要运行的代码存放在该run方法中。
3,通过Thread类建立线程对象。
4,将Runnable接口的子类对象作为实际参数传递给Thread类的构造函数。
例如:
其结果运行如下:
该例中,MyThread类实现了Runnable接口,并重写了接口中的run()方法,通过Thread类将MyThread类的实例对象作为参数传入,从运行结果可以看出main()方法和run()方法中的语句都执行了,说明该例实现了多线程。
实现方式和继承方式有什么区别:
(1)、实现方式好处:避免了单继承的局限性 ;
(2)、在定义线程时:建议使用实现方式;
(3)、两种方式区别:
1.继承Thread:线程代码存放在 Thread 子类 run 方法中
2.实现Runnable:线程代码存放在接口的子类的 run 方法中
建议:使用第二种线程创建方法。因为第二种方式更加体现面向对象思想。
线程的生命周期