java中的线程

1.什么是线程

      说到线程就是说进程,因为线程不能独立进程而存在.

      进程是代码在数据集合上的一次运行活动 , 是系统进行资源分配和调度的基本单位 , 线程则是进程的一个执行路径, 一个进程中至少有一个线程,进程中的多个线程共享进程的资源。

      在这里我们要知道,真正执行任务的或占用CPU运行的是线程,所以说线程是CPU分配的基本单位.

       我们通常写的java main函数就是一个线程,也程为主线程.

       1.1线程创建的方式

              三种方式:

                            实现Runnable接口的run方法

                                 

public static class RunableTask implements Runnable{

        @Override
        public void run() {
            System.out.println("hello,我是RunableTask的线程");
        }
    }

    public static void main(String[] args) {

        RunableTask task = new RunableTask();
        new Thread(task).start();
        new Thread(task).start();
}

                            继承Thread类并重写run的方法

public static class MyThread extends Thread{
        @Override
        public void run() {
            System.out.println("hello,我是MyThread的线程");
        }
    }
    
    public static void main(String[] args) {

        MyThread myThread = new MyThread();
        myThread.start();
}

2.多线程

      一个进程中可以有多线程,多个线程是共享进程的堆和方法区资源的.但是每个线程都有自己的程序计数器和栈区域.

      多线程中的死锁:

                互斥条件  ,请求并持有条件,   不可剥夺条件,   环路等待条件          

2.线程安全

3.同步类型

...
原文地址:https://www.cnblogs.com/javage/p/11058170.html