zoukankan      html  css  js  c++  java
  • 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.同步类型

    ...
  • 相关阅读:
    django框架的models
    图像的特征提取
    laravel框架学习
    机器学习--Classifier comparison
    java中的静态变量---static
    初次编程经历
    TERSUS笔记员工信息513-Tersus表格中勾选框升级处理
    TERSUS笔记员工信息512-Tersus勾选框全选和全不选的三种设定方法(转载+补充)
    TERSUS笔记员工信息511-Mysql查询
    TERSUS笔记员工信息510-css文字超出显示
  • 原文地址:https://www.cnblogs.com/javage/p/11058170.html
Copyright © 2011-2022 走看看