• 线程


    多线程存在的意义:

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

    多线程的创建方式:

      方式一:继承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.同步函数的锁不能由你决定,是固定的

  • 相关阅读:
    jvm出现OutOfMemoryError时处理方法/jvm原理和优化参考
    linux内核参数注释与优化
    JMeter基础之—录制脚本
    linux ACL权限控制
    linux中安装jdk+jmeter-
    FPGA知识大梳理(三)verilogHDL语法入门(2)知识汇总
    FPGA知识大梳理(二)verilogHDL语法入门(1)
    FPGA知识大梳理(一)对FPGA行业的一点感言
    openrisc 之 Wishbone总线学习笔记——接口信号定义
    openrisc 之 Wishbone总线学习笔记——总线互联
  • 原文地址:https://www.cnblogs.com/syousetu/p/6517758.html
Copyright © 2020-2023  润新知