8月7日 Java多线程

基础代码:

package com.pyc.test;

public class MainTest {

    public static void main(String[] args) {
        // TODO Auto-generated method
        Thread th = new OneThread();
        Thread th1 = new TwoThread();//分出的线程从分出就与主线程无关了
        th.start();
        th1.start();
        System.out.println("main方法结束");
    }

}
class OneThread extends Thread{
    @Override
    public void run() {
        // TODO Auto-generated method stub
//        super.run();
        for(int i = 0;i<100;i++) {
            System.out.println("这是第一个线程"+i);
        }
    }
}
class TwoThread extends Thread{
    public void run() {
        // TODO Auto-generated method stub
//        super.run();
        for(int i = 0;i<100;i++) {
            System.out.println("这是第二个线程"+i);
        }
    }
}

第二块代码:

MainTest.java

package com.pyc.test;

public class MainTest {

    public static void main(String[] args) {
        // TODO Auto-generated method
        Thread th = new OneThread();
        Thread th1 = new Thread(new TwoThread());//分出的线程从分出就与主线程无关了
        new Thread(new Runnable() {
            
            @Override
            public void run() {
                // TODO Auto-generated method stub
                
            }
        }).start();
        th.start();
        th1.start();
        System.out.println("main方法结束");
    }

}
class OneThread extends Thread{
    @Override
    public void run() {
        // TODO Auto-generated method stub
//        super.run();
        for(int i = 0;i<100;i++) {
            try {
                Thread.sleep(5000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            System.out.println("这是第一个线程"+i);
        }
    }
}
class TwoThread extends Thread{
    public void run() {
        // TODO Auto-generated method stub
//        super.run();
        for(int i = 0;i<100;i++) {
            System.out.println("这是第二个线程"+i);
        }
    }
}

TestSleep.java

package com.pyc.test;

public class TestSleep implements Runnable {

    SetType set = new SetType();
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        TestSleep test = new TestSleep();
        Thread th = new Thread(test);
        Thread th1 = new Thread(test);
        th.setName("t1");
        th1.setName("t");
    }
    @Override
    public void run() {
        // TODO Auto-generated method stub
        set.add(Thread.currentThread().getName());
    }

}
class SetType{
    public static int num = 0;
    public void add(String name) {
        num++;
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }//暂停一秒
        System.out.println(name+"线程调用第"+num+"个线程");
    }
}

猜你喜欢

转载自blog.csdn.net/Percy0618/article/details/81474708