zoukankan      html  css  js  c++  java
  • 线程

    多线程存在的意义:

      一个进程中允许多个任务可以同时执行

    多线程的创建方式:

      方式一:继承thread

        1.自定义一个类继承thread

        2.重写thread的run方法,把自定义线程的任务代码放在run方法上

        3.创建thread类的子类对象,并且调用start方法开启线程

        (线程一旦开启,就会执行run方法中的代码)

      方式二:实现Runnable接口

        1.自定义一个类实现Runnable接口

        2.实现Runnable的run方法

        3.创建Runnale实现类的对象

        4.创建Thread的对象,然后把Runable实现类的对象作为参数传递

        5.调用thread对象的start方法开启线程

    java中的同步机制:

    出现线程安全问题的根本原因:

      1.存在两个或者两个以上的线程共享资源

      2.操作资源的代码块必须有语句

      

    1.同步代码块

        同步代码块格式:

          1 synchronized(锁对象){ 2 需要被同步的代码块。。。 3 } 

        同步代码块要注意的细节:

          1.锁对象可以是任意对象。

          2.锁对象必须是多线程共享的一个资源,否则锁不住

          3.没有线程安全问题的时候不要使用锁,因为会导致效率降低

          4.调用sleep方法并不会释放对象,但是调用wait方法的线程会释放对象

     

    2.同步函数

      修饰符 synchronized 返回值类型 函数名(形参列表){

      }

    注意:  

      1.同步函数的锁对象不能使任意的,非静态同步函数的锁对象是this对象,静态函数的锁对象是当前字节码对象

      2.同步函数的锁不能由你决定,是固定的

  • 相关阅读:
    iphoneX 兼容
    app 判断网络状态
    app 版本升级
    express 安装
    app打开QQ与陌生人聊天
    app项目中几个常用的cordvoa插件
    axios请求拦截器和相应拦截器
    vue中MD5+base64加密
    想啥写啥
    react canvas圆环动态百分比
  • 原文地址:https://www.cnblogs.com/syousetu/p/6517758.html
Copyright © 2011-2022 走看看