JAVA实现多线程入门

来源:互联网 发布:给自己的淘宝店铺取名 编辑:程序博客网 时间:2024/06/06 05:22
1:程序员可以在程序中执行多个线程,每一个线程完成一个功能,并于其他线程并发执行,这种机制被称为多线程

2:实现线程的两种方法是,分别是继承java.lang.Thread或者实现java.lang.Runnable接口

3:Thread类是java.lang包中的一个类,从这个类实例化的对象代表线程

4:完成线程真正功能的代码是放在run()方法中的,当一个类继承Thread类后,就可以在该类中覆盖run()方法,将实现该线程功能的代码写入run()方法中,然后同时调用Thread 类中的strat()方法执行线程,也就是调用run()方法。

 1 package com.thread; 2 /** 3  * 1:程序员可以在程序中执行多个线程,每一个线程完成一个功能,并于其他线程并发执行,这种 4  * 机制被称为多线程 5  * 2:实现线程的两种方法是,分别是继承java.lang.Thread或者实现java.lang.Runnable 6  * 接口 7  * 3:Thread泪时java.lang包中的一个类,从这个类实例化的对象代表线程 8  * 4:完成线程真正功能的代码是放在run()方法中的,当一个泪继承Thread类后,就可以 9  * 在该类中覆盖run()方法,将实现该线程功能的代码写入run()方法中,然后同时调用Thread10  * 类中的strat()方法执行线程,也就是调用run()方法。11  * @author biexiansheng12  *13  */14 public class ThreadTest extends Thread {//指定类继承Thread类15     16     private int count=10;17     public void run(){//重写run()方法18         while(true){19             System.out.print(count+" ");//打印count变量20             if(--count==0){//使count变量自减,当自减为0时,退出循环21                 return;22             }23         }24     }25     public static void main(String[] args) {26         //new ThreadTest().start();27         Thread t=new ThreadTest();//两种方法都可以实现线程运行28         t.start();29     }30 }

示例如下

 1 package com.thread; 2 /** 3  * 1:多线程实例练习 4  * @author biexiansheng 5  * 6  */ 7 public class ThreadTest1 extends Thread{ 8  9     //多线程的实现都是在run()方法中实现的10     public void run(){11         System.out.println(getName()+"登上舞台");12         int count=0;//定义一个变量13         while(count<=100){14             System.out.println(getName()+"登上"+count+"次舞台");15             count++;16             if(count%10==0){17                 try {18                     Thread.sleep(2000);//捕获异常,休眠2秒19                 } catch (InterruptedException e) {20                     // TODO Auto-generated catch block21                     e.printStackTrace();22                 }//23             }24         }25         System.out.println(getName()+"走下舞台");26     }27     public static void main(String[] args) {28         // TODO Auto-generated method stub29         Thread t=new ThreadTest1();30         t.setName("Mr.Thread");31         t.start();32         //new ThreadTest1().start();33         34         //实现Runnable接口35         Thread t1=new Thread(new RunnableTest(),"Ms.Runnable");36         t1.start();37     }38 }39 40 class RunnableTest implements Runnable{41 //写完上一句,类名报错,说明实现一个接口,就要实现这个接口内的方法42     @Override43     public void run() {44         // TODO Auto-generated method stub45         System.out.println(Thread.currentThread().getName()+"走上了舞台");46         //Runnable接口实现getName必须通过线程的currentThread()方法得到47         int count=0;//定义一个变量48         while(count<=100){49             System.out.println(Thread.currentThread().getName()+"登上"+count+"次舞台");50             count++;51             if(count%10==0){52                 try {53                     Thread.sleep(2000);//捕获异常,休眠2秒54                 } catch (InterruptedException e) {55                     // TODO Auto-generated catch block56                     e.printStackTrace();57                 }//58             }59         }60         System.out.println(Thread.currentThread().getName()+"走下舞台");61     62     }63     64 }

 

0 0
原创粉丝点击