Java多线程总结

1)并发和并行
Java多线程总结_第1张图片

2)进程和线程
Java多线程总结_第2张图片

Java多线程总结_第3张图片

3)线程调度
分时调度
抢占调度(java)

4)主线程
主线程:执行主(main)方法线程
Java多线程总结_第4张图片

5)创建多线程java程序
Java多线程总结_第5张图片

6)多线程原理

public class Mythred extends Thread {
    @Override
    public void run()
    {
        for (int i = 0; i < 10; i++) {
            System.out.println("run"+1);
        }

    }
}

7)多线程原理:随机性打印

Java多线程总结_第6张图片

8)多线程原理:内存图解

Java多线程总结_第7张图片

9)Thread类常用方法
获取线程名称:1.Thread中的方法:getName()
2.可以先获取当前正在执行的线程:currentThread();

//        Thread t=Thread.currentThread();
//        String name = t.getName();
//        System.out.println(name);
        //链式编程
        System.out.println(Thread.currentThread().getName());
        

10)Thread常用方法-sleep

public static void sleep(long mills);

for (int i = 0; i < 60; i++) {
            System.out.println(i);

            Thread.sleep(1000);
        }

11)创建线程的第二种方式

Java多线程总结_第8张图片

public class demoRun implements Runnable{

    @Override
    public void run() {
        for (int i = 0; i < 20; i++) {
            System.out.println(Thread.currentThread().getName()+i);
        }

    }
}

 public static void main(String[] args) {
        demoRun run=new demoRun();
        Thread t=new Thread(run);
        t.start();
        for (int i = 0; i < 20; i++) {
            System.out.println(Thread.currentThread().getName()+i);
        }

12)实现Runable接口创建多线程的好处
1.避免了单线程的局限性
Java多线程总结_第9张图片

13)匿名内部类
匿名内部类:没有名字,写在其他类内部
作用:简化代码
把子类继承父类,重写父类方法,创建子类对象合一步完成

格式:
new 父类/接口()
{
重写run方法,设置线程任务
}.start();

public static void main(String[] args) {
        new Thread(){
            @Override
            public void run() {
                for (int i = 0; i <20 ; i++) {
                    System.out.println(Thread.currentThread().getName()+i);
                }
            }
        }.start();
    }

 Runnable runnable = new Runnable() {
            @Override
            public void run() {
                for (int i = 0; i < 20; i++) {
                    System.out.println(Thread.currentThread().getName());
                }
            }
        };
        new Thread(runnable).start();
out.println(Thread.currentThread().getName());
                }
            }
        };
        new Thread(runnable).start();

你可能感兴趣的:(Java精进,java,thread,并发编程)