package MutiplyThread; /** * ClassName: Demo1Test * Company:华中科技大学电气学院 * date: 2019/7/13 20:54 * author: YEXIN * version: 1.0 * since: JDK 1.8 * Description:多线程程序: * 1.将需要用多线程执行的逻辑写入到一个Runnable实现类中(run方法中) * 2.创建出这个runnable实现类的对象 * 3.利用这个runnable对象够在多个thread对象 * 4.将这n个thread启动(threa.strat()) */ public class Demo1Test { public static void main(String[] args) { Demo1 demo1 = new Demo1(); //demo1.run();//这样调,只是用单线程普通地执行以下这个run方法而已 Demo2 demo2 = new Demo2(); //构造多个线程,指定要执行的逻辑 Thread thread1= new Thread(demo1); Thread thread2= new Thread(demo1); Thread thread3= new Thread(demo1); Thread thread4= new Thread(demo2); Thread thread5= new Thread(demo2); //启动线程 thread1.start();//如果是:thread1.run();表示只去执行run方法。只是按普通方法调用,还是单线程执行 thread2.start(); thread3.start(); thread4.start(); thread5.start(); } }
---------------------------------------------------------------------------------------------------------------------------------------------------
package MutiplyThread; /** * ClassName: Demo1 * Company:华中科技大学电气学院 * date: 2019/7/13 20:50 * author: YEXIN * version: 1.0 * since: JDK 1.8 * Description: */ public class Demo1 implements Runnable{//多线程运行的方法要写在类里面,这个类必须要实现runnable接口 @Override public void run() {//该方法可以多线程执行 for(int i=0;i<20;i++) { //在这里写自己的逻辑,比如用某个对象调用方法等等 System.out.println("a.........b,,,,,啊,,,,,,"+i); } } }
------------------------------------------------------------------------------------------------------------------------------------------------
package MutiplyThread; /** * ClassName: Demo2 * Company:华中科技大学电气学院 * date: 2019/7/13 21:06 * author: YEXIN * version: 1.0 * since: JDK 1.8 * Description: */ public class Demo2 implements Runnable { @Override public void run() { for(int i=0;i<38;i++){ System.out.println("o......q......哦。。。"+i); } } }