多线程

含义:程序里同时执行多个任务并加以控制就是多线程的含义。能充分运用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 }
实例四
原文地址:https://www.cnblogs.com/yanweichen/p/8685803.html