zoukankan      html  css  js  c++  java
  • 关于进程、线程的学习分享

    1,进程概念:

    程序(或任务)的执行过程(动态性),持有资源(共享内存、共享文件)和线程。(资源或者说线程的载体)

    2,Thread的常用方法:

      类别                方法                    简介

                    Thread()

                    Thread(String name)

    线程的创建           Thread(Runnable target)

                    Thread(Runnable target,String name)

    ==================================================================

                    void start()                  启动线程   

                    static void sleep(long milis)          线程休眠

    线程的方法           void join()                  使其他线程等待当前线程终止

                    void join(long miles)

                    void join(long milis,int nanos)

                    static void yield()               当前运行线程释放处理器资源

    ==================================================================

    获取线程引用          static Thread currentThread()        返回当前运行的线程引用

    3,争用条件:Race Condition

    当多个线程同时共享访问同一数据(内存区域)时,每个线程都尝试操作该数据,从而导致数据被破坏,这种现象称为争用条件。

    4,线程的交互:互斥与同步

    加锁:锁对象,是java的一个Object对象,实现互斥是使用synchronized(lockObj)关键字。

    //使用while循环,保证条件不满足时任务都会被条件阻挡,而不是继续竞争CPU资源。

    while(energyBox(from) < amount){

      try{

        lockObj.wait();

      }catch(Exception e){

      }

    }

    lockObj.notifyAll();      //唤醒所有在lockObj对象上等待的线程,实现线程的同步;

    5,互斥与同步的实现:

    互斥:synchronized(lockObj);java保证了同一时间只能有一个线程获得lockObj;

    同步:wait()/notify()/notifyAll()

  • 相关阅读:
    Maven插件方式使用Mybatis Generator
    css3渐变色板配色代码
    iframe加载顺序
    JPA N+1
    K3Cloud云星空战略实施教程(全套)更新2020-08-30
    K3Cloud云星空插件开发实战教程(全套)更新2020-07-29
    零基础C#NET网站开发实战教学(全套完结)最新更新2020-08-17
    K3Wise插件开发实战教程(全套)最新更新2020-08-17
    SQL基础培训实战教程[全套完结]最后更新时间2020-12-29
    第九篇分享:学佛第五个基础 正知正见 理悟佛法(一)[修改版]
  • 原文地址:https://www.cnblogs.com/yolanda-lee/p/5109196.html
Copyright © 2011-2022 走看看