zoukankan      html  css  js  c++  java
  • commons-IO、多线程

    第1章     commons-IO

    1.1                导入classpath

    加入classpath的第三方jar包内的class文件才能在项目中使用

    创建lib文件夹

    将commons-io.jar拷贝到lib文件夹

    右键点击commons-io.jar,Build Path→Add to Build Path

    1.2                FilenameUtils

    这个工具类是用来处理文件名(译者注:包含文件路径)的,他可以轻松解决不同操作系统文件名称规范不同的问题

    l  常用方法:

    getExtension(String path):获取文件的扩展名;

    getName(String filename):获取文件名;

    isExtension(String fileName,String ext):判断fileName是否是ext后缀名;

     

    1.3                FileUtils

    提供文件操作(移动文件,读取文件,检查文件是否存在等等)的方法。

    l  常用方法:

    readFileToString(File file):读取文件内容,并返回一个String;

    writeStringToFile(File file,String content):将内容content写入到file中;

    copyDirectoryToDirectory(File srcDir,File destDir);文件夹复制

    copyFile(File srcFile,File destFile);文件复制

     

    第2章     多线程

    2.1                多线程介绍

    主线程:

      jvm启动后,必然有一个执行路径(线程)从main方法开始的,一直执行到main方法结束,这个线程在java中称之为主线程。当程序的主线程执行时,如果遇到了循环而导致程序在指定位置停留时间过长,则无法马上执行下面的程序,需要等待循环结束后能够执行。

    进程:进程指正在运行的程序。

    线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。

    进程线程个人理解:进程就是一个正常运行的程序,线程就是负责给进程传输,完成进程的正常运行的东西,员工给老板赚钱老板才会有一个正常的公司。

    简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程

    l  单线程程序:即,若有多个任务只能依次执行。当上一个任务执行结束后,下一个任务开始执行。如,你超市买完东西去结账,你需要排队等待前面的人结完账你才能结账

    l  多线程程序:即,若有多个任务可以同时执行。如,你去超市买东西结账,结果超市的收银台都有人,你就能很快的结完结完账

     

     

    2.2                程序运行原理

    l  分时调度

    所有线程轮流使用 CPU 的使用权,平均分配每个线程占用 CPU 的时间。(就是平均分配时间运行

    l  抢占式调度

    优先让优先级高的线程使用 CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性),Java使用的为抢占式调度。(先看优先级,优先级高的先运行,优先级一样的看cpu心情随机分配运行时间,)

     

     

    单线程与多线程图解

     

    运行原理,这三个功能你看着是同时运行,气死是cpu在高速已毫秒切换着三个功能的使用权,就是速度快了反复横跳出现分身的感觉一样。

    2.3                线程的生命周期:

     

    • 新建 :从新建一个线程对象到程序start() 这个线程之间的状态,都是新建状态;
    • 就绪 :线程对象调用start()方法后,就处于就绪状态,等到JVM里的线程调度器的调度;
    • 运行 :就绪状态下的线程在获取CPU资源后就可以执行run(),此时的线程便处于运行状态,运行状态的线程可变为就绪、阻塞及死亡三种状态。
    • 等待/阻塞/睡眠 :在一个线程执行了sleep(睡眠)、suspend(挂起)等方法后会失去所占有的资源,从而进入阻塞状态,在睡眠结束后可重新进入就绪状态。
    • 终止 :run()方法完成后或发生其他终止条件时就会切换到终止状态。
  • 相关阅读:
    状态压缩+枚举 UVA 11464 Even Parity
    数学/思维 UVA 11300 Spreading the Wealth
    贪心 UVA 11729 Commando War
    二分专题
    二分图判定+点染色/并查集 BestCoder Round #48 ($) 1002 wyh2000 and pupil
    数学 Codeforces Round #219 (Div. 2) B. Making Sequences is Fun
    贪心 Codeforces Round #191 (Div. 2) A. Flipping Game
    DP Codeforces Round #FF (Div. 1) A. DZY Loves Sequences
    递推 Codeforces Round #186 (Div. 2) B. Ilya and Queries
    递推DP Codeforces Round #260 (Div. 1) A. Boredom
  • 原文地址:https://www.cnblogs.com/pandam/p/11187047.html
Copyright © 2011-2022 走看看