Thread

丶灬走出姿态 提交于 2020-03-04 22:11:20

线程,进程的区别,及实现方式:

/**
 * 多线程
 *      进程:操作系统(os)并发的一个任务
 *      并发原理:cpu分时间片,多个任务交替执行(宏观并行,微观串行)有os调度cpu
 *      线程:一个进程中并发的一个顺序执行的流程
 *  线程的组成:
 *      1.cpu
 *      2.数据空间(堆空间共享,栈空间独立)每个线程都有自己独立的栈空间,多个线程共享同一个
 *        堆空间
 *      3.代码
 *  线程的五个状态:初始状态 ,就绪状态,运行状态,阻塞状态终止状态
 *
 */
public class TestThread {
    public static void main(String[] args) {
        Thread myThread1 = new Thread(new MyThread1());
        Thread myThread2 = new Thread(new MyThread2());
        MyThread3 myThread3 = new MyThread3();
        MyThread4 myThread4 = new MyThread4();
        myThread1.setName("线程1");
        myThread2.setName("线程2");
        myThread3.setName("线程3");
        myThread4.setName("线程4");
        //线程进入可运行状态
        myThread1.start();
        myThread2.start();
        myThread3.start();
        myThread4.start();
    }
}
/*
* 方式1:实现 Runnable接口
* */
class MyThread1 implements Runnable{
    public void run() {
        for (int i = 1; i <= 50; i++) {
            System.out.println(Thread.currentThread().getName()+"第"+i+"次执行任务");
        }
    }
}
class MyThread2 implements Runnable{
    public void run() {
        for (int i = 0; i <50; i++) {
            System.out.println(Thread.currentThread().getName()+"第"+i+"次执行任务");

        }
    }
}
/*
* 方式2 继承Thread 类
* */
class MyThread3 extends Thread{
    @Override
    public void run() {
        for (int i = 1; i <= 50; i++) {
            System.out.println(this.getName()+"第"+i+"次执行任务");
        }
    }
}
class MyThread4 extends Thread{
    @Override
    public void run() {
        for (int i = 0; i < 50; i++) {
            System.out.println(this.getName()+"第"+i+"次执行任务");
        }
    }
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!