zoukankan      html  css  js  c++  java
  • 程序.线程.进程

    程序进程线程的概念:

    程序:是为完成特定任务,用某种语言编写的一组指令的集合.即指一段静态的代码.静态对象
    
    
    
    进程:是程序的一次执行的过程,或正在运行的一个程序.动态的过程.她有自身的产生.存在.和消亡的过程,是动态的
    
    
    
    线程:进程可进一步细化为线程,是一个程序内部的一条执行路径
    
      若一个进程可同时执行多个线程,就是正吃多线程的

    thread的常用方法:

    1.  start() 启动线程,并执行相应的run()方法
    
    2. run() 子线程要执行的代码放在run()方法中
    
    3. currentThread() 静态的,调取当前的线程
    
    4. getName() 设置此线程的名字
    
    5. setName() 设置此线程的名字
    
    6. yield() 调用此方法的线程释放当前CPU的执行权
    7. join() 在A线程中调用B线程的jion方法,表示:当执行到此方法,A线程停止,直至B线程完毕,A线程再接着jion()之后的代码执行
    8. isAlive() 判断当前线程是否还存活
    9. sleep(long L) 显示的让当前线程睡眠L毫秒

    多线程的优点:

    1提高应用程序的响应,对图像化界面更有意义.可增强用户的体验
    
    2提高计算机系统cpu的利用率
    
    3改善程序结构,将即长又复杂的进程分为多个线程,独立运行,利于理解和修改

    多线程的安全问题

    当多条语句在操作同一个线程共享数据时,一个线程对多条语句执行了一部分,还没有执行完,另一个线程参与进来.导致共享数据的错误,.
    (一个线程在操作共享数据的过程,未执行完毕的情况下,另外的线程参与进来,导致共享数据出现问题) 解决办法:对多条操作共享数据的语句,只能让一个线程都执行完,在执行过程中其他线程不可以参与执行

    JAVA对于多线程的安全问题提供了专业的解决方式:

      一:同步代码块
        1 synchronized(同步监视器(对象)){
          //需要被同步的代码块
        }
        同步监视器:有一个类的对象来充当.那个线程获取此监视器,会就执行.俗称"锁"

        2 synchronize还可以放在方法声明中,表示整个方法为同步方法
          例如:
          public synchronize void show(String name){}

  • 相关阅读:
    vue样式的动态绑定
    vue表单选项框
    vue简单逻辑判断
    vue的选项卡功能
    简单vue的监听属性(单位换算)
    简单的Vue计算属性
    vue.js 入门
    head元素的内容
    HTML实体
    CSS元素的盒类型
  • 原文地址:https://www.cnblogs.com/gxlaqj/p/9998867.html
Copyright © 2011-2022 走看看