含义:程序里同时执行多个任务并加以控制就是多线程的含义。能充分运用cpu内存等硬件设备,提高程序运行效率。
实现方法:继承Thread;实现Runable
1 package cap1; 2 3 public class Eat extends Thread{ 4 5 @Override 6 public void run() { 7 for(int i=0;i<=10;i++){ 8 try { 9 Thread.sleep(1000); 10 System.out.println("吃东西"); 11 } catch (InterruptedException e) { 12 // TODO Auto-generated catch block 13 e.printStackTrace(); 14 } 15 } 16 } 17 18 19 } 20 —————————————————————————————————————————— 21 package cap1; 22 23 public class Music extends Thread{ 24 25 @Override 26 public void run() { 27 for(int i=0;i<=10;i++){ 28 try { 29 Thread.sleep(1000); 30 System.out.println("听音乐"); 31 } catch (InterruptedException e) { 32 // TODO Auto-generated catch block 33 e.printStackTrace(); 34 } 35 } 36 } 37 38 39 } 40 —————————————————————————————————————————— 41 package cap1; 42 43 public class mainMethod { 44 public static void main(String[] args) { 45 Music musicThread=new Music(); 46 Eat eatMusic=new Eat(); 47 musicThread.start(); 48 eatMusic.start(); 49 } 50 }
1 package cap2; 2 3 public class Thread1 extends Thread{ 4 5 private int baozi=1; 6 private String threadName; 7 8 public Thread1(String threadName){ 9 super(); 10 this.threadName=threadName; 11 } 12 13 @Override 14 public void run() { 15 while(baozi<=10){ 16 System.out.println(threadName+"吃第"+baozi+"个包子"); 17 baozi++; 18 } 19 } 20 public static void main(String[] args) { 21 Thread1 t1=new Thread1("张三线程"); 22 Thread1 t2=new Thread1("李四线程"); 23 t1.start(); 24 t2.start(); 25 } 26 27 }
1 package cap3; 2 3 import cap2.Thread1; 4 5 public class Thread2 implements Runnable{ 6 7 private int baozi=1; 8 private String threadName; 9 10 public Thread2(String threadName){ 11 super(); 12 this.threadName=threadName; 13 } 14 15 @Override 16 public void run() { 17 while(baozi<=10){ 18 System.out.println(threadName+"吃第"+baozi+"个包子"); 19 baozi++; 20 } 21 } 22 public static void main(String[] args) { 23 Thread1 t1=new Thread1("张三线程"); 24 Thread1 t2=new Thread1("李四线程"); 25 26 Thread t11=new Thread(t1); 27 Thread t12=new Thread(t2); 28 t11.start(); 29 t12.start(); 30 } 31 32 }
1 package cap3; 2 3 import cap2.Thread1; 4 /* 5 * runable可以实现数据共享,一个人干三个人的事情 6 */ 7 8 public class Thread3 implements Runnable{ 9 10 private int baozi=1; 11 private String threadName; 12 13 public Thread3(String threadName){ 14 super(); 15 this.threadName=threadName; 16 } 17 18 @Override 19 public synchronized void run() { 20 while(baozi<=10){ 21 System.out.println(threadName+"吃第"+baozi+"个包子"); 22 baozi++; 23 } 24 } 25 public static void main(String[] args) { 26 Thread3 t1=new Thread3("超级线程"); 27 28 29 Thread t11=new Thread(t1); 30 Thread t12=new Thread(t1); 31 Thread t13=new Thread(t1); 32 t11.start(); 33 t12.start(); 34 t13.start(); 35 } 36 37 }