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

  • 相关阅读:
    tomcat 配置ssi
    oracle exp imp 导入 正在跳过表 plsql 导入表 成功终止 数据 被导入
    oracle 创建数据表空间和用户
    移动端开发来个总结吧
    ssl四次握手
    面试-布局
    typeof的原理?
    马上面试了就,复习一下排序
    关于webview无法设置页面标题
    关于let的生命提升
  • 原文地址:https://www.cnblogs.com/syousetu/p/6517758.html
Copyright © 2011-2022 走看看