Java线程与进程基础,以及四种创建方法(线程与进程基础仅需一篇就够)

进程与线程

进程 简单理解为一次程序一次执行(包括代码以及内存数据等等)
线程 程序中单个顺序流称为控制成为进程(例如一个程序要边下载,边计算,边观看.....都可以称为一个线程) 线程特点
一个进程有多个线程
多个线程分享cpu(并发的或以时间片的方式进行)
共享内存(如多个线程访问同一对象)

window系统查看进程与线程

Java线程与进程基础,以及四种创建方法(线程与进程基础仅需一篇就够)

 创建线程的四种方法(创建Run方法)

继承Thread方法(最常用)

package ThreadLearn;
/**首先要继承Thread类才能创建线程*/
 class ThreadCreate1 extends Thread{
    /**定义一个run方法线程*/
    @Override
    public void run(){
        for (int i=0;i<10;i++){
            System.out.println(i);
        }
    }
    public static void main(String[] args){
        //利用start开始线程
        new ThreadCreate1().start();
    }
}

通过Thread()构造方法传递Runnable对象

package ThreadLearn;
/**首先要接入接口Runnable*/
 class ThreadCreate1 implements Runnable{
    /**定义一个run方法线程*/
    @Override
    public void run(){
        for (int i=0;i<10;i++){
            System.out.println(i);
        }
    }
    public static void main(String[] args){
        //直接调用开始线程
        ThreadCreate1 threadCreate1=new ThreadCreate1();
        threadCreate1.run();
    }
}

使用匿名类实现Runnable(不推荐)

package ThreadLearn;

public class ThreadCreate extends Thread {
    public static void main(String[] args) {
        new Thread() {
            public void run() {
                for (int i = 0; i < 10; i++) {
                    System.out.println(i);
                }
            }
        }.start();
    }
}

使用Lambda表达式

package ThreadLearn;
public class ThreadCreate extends Thread {
    public static void main(String[] args) {
        new Thread(()->{for (int i=0;i<10;i++){
            System.out.println(i);
        }}
        ) .start();
    }
}

上一篇:[C# 开发技巧]如何防止程序多次运行


下一篇:创建线程的方法