zoukankan      html  css  js  c++  java
  • 多线程

    定义:同时对多项任务加以控制

    多线程:

    进程:一个内存中正在运行的一个应用程序。

    线程:进程中的一个执行流程。

    多线程:

    进程中有两个或两个以上并发的执行流程。

    每个流程是一个线程。

    每个线程都有自己的任务。

    ----------------

    线程的状态:

    1.新建;

    2.就绪;

    3.运行;

    4.阻塞;

    5.死亡;

    ---------------------

    阻塞:

    1.sleep()

    join()

    2.wait()

    3.同步

    -----------------------

    一个应用程序启动一定会启动两个线程。

    主线程和垃圾回收线程。

    ------------------

    创建子线程方法:

    1.继承Thread

    实现run方法 方法内实现任务

    线程名.start(); 来开始线程

    Thread.sleep(1000); 暂停1s

    2.实现Runnable接口

    必须实现run方法 方法内实现任务

    创建线程

    将创建的线程当参数传入一个线程中

    可以共享资源

    多个线程执行一个线程

       

    多个线程处理一件事时加同步锁

    ---------------------

    线程的状态

       

    线程常用方法

    7.join(); 等待该线程种植

    8.interrupt();中断线程

    ----------------------------

    线程同步:

    某一时刻,线程处于线程独占状态。(有且只有一个线程进入方法)

    方式:

    1.同步方法

    public synchronized void run(){

    代码

    }

    在方法返回值类型前加synchronized

    2.同步代码块

    sychronized (对象){

    代码;

    }

    效果与同步方法相同

    ----------------------------

    继承Thread和实现Runnable的区别:

    1.继承Thread类,

    会继承Thread类中的所有方法;

    实现接口 只有 run()方法;

    2.实现 Runnable更有利于资源共享

    (对同一对象操作)

    --------------------------------

    线程优先级:

    1-10 (高)

    -----------------------

  • 相关阅读:
    微信授权登录
    mpvue 试水的一天
    小程序请求接口统一封装到一个js文件中
    工作中vue项目前后端分离,调用后端本地接口出现跨域问题的完美解决
    百度小程序授权更好体验
    关于智能小程序网络请求封装
    vue 开发webapp 手机返回键 退出问题
    MySQL解决存入数据库和取出数据库时间格式问题
    关于小程序授权更好体验
    关于vue项目中在js中引入图片问题
  • 原文地址:https://www.cnblogs.com/ChengR/p/11756008.html
Copyright © 2011-2022 走看看