Java基础知识之线程

来源:互联网 发布:tinyumbrella官网 mac 编辑:程序博客网 时间:2024/05/21 04:40

Java基础知识之线程

一、与线程的相关概念
       1、程序、进程、线程概念
程序:通过编程语言编写的一组指令集合
进程:正在运行的程序
线程:进程中执行的基本单元



 
单一线程执行特点:从上到下,一步一步来;




多线程特点:相当于好几个帮手帮你做事情;你做你的,他做他的;


生活中非常多的多线程的实例:

做菜的时候,你会一下跑去切菜,一会回来炒一下菜,可能又会去洗菜等等;


、Java中多线程的实现机制

        1、继承Thread类,并重写父类的run()方法;

2实现Runnable接口同时实现Runnable中的run()方法;

3匿名内部类(Thread类或者Runnable接口都可以)




三、实例代码

现在用以上三种方法简单模拟多线程程序的执行过程:

扫地线程通过继承Thread类实现
        
package com.bluesky.zhou;public class CleanThread extends Thread{public void run() {System.out.println("正在扫地.......");try {//休眠this.sleep(30);System.out.println("扫地完成......");} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

沏茶线程通过实现Runnable接口实现

package com.bluesky.zhou;public class TeaThread implements Runnable{public void run() {System.out.println("沏茶中......");   try {Thread.sleep(20);System.out.println("茶沏好了......");} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}



主函数中的擦窗户线程通过匿名内部类实现
package com.bluesky.zhou;public class Test {public static void main(String[] args) {CleanThread clean = new CleanThread();TeaThread tea = new TeaThread();Thread teaThread =new Thread(tea);new Thread(){public void run(){System.out.println("正在擦窗户.......");try {this.sleep(10);System.out.println("窗户擦完了......");} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}.start();clean.start();teaThread.start();}}



启动多次将得到不同的运行结果:









总结:
1、了解线程的基本概念;
2、知道线程实现的三种机制;




0 0