多线程

来源:互联网 发布:bluestack for mac 编辑:程序博客网 时间:2024/06/03 17:09

多线程

 

多线程概述

进程:

正在运行的程序,是系统进行资源分配和调用的独立单位。

每一个进程都有它自己的内存空间和系统资源。

线程:

是进程中的单个顺序控制流,是一条执行路径

一个进程如果只有一条执行路径,则称为单线程程序。

一个进程如果有多条执行路径,则称为多线程程序。

 

  获取线程名字

     Thread类方法 String getName()

     Thread类用,Thread子类使用

  

   Thread,有一个静态方法  currentThread()

     返回当前正在运行的线程对象  Thread currentThread()

     继续使用线程对象,调用getName方法获取名字

    

   设置线程名字

     Thread类的方法 void setName(String name)设置线程名字

     Thread类的构造方法(String name)

 

System.out.println(Thread.currentThread().getName()+i);

 

线程的优先级

每个线程都有自己的优先级 1-10

Thread类方法  int getPriority()获取线程的优先级

优先级高,在用CPU的时间相对更多一些

    setPriority(int newPriority)设置线程的优先级

    Thread类中,提供三个静态成员变量,说明优先级

 

Thread join

执行join方法的线程,会一次性执行完毕

 

 

同步方法,同步函数,同步方法只能被一个线程调用,不调用完成,其他线程不能调用

    同步方法有锁吗,肯定有锁 ,本类对象引用 this

   

    静态同步方法中,肯定也有锁,锁是谁呢,锁必须是对象

    对象就是自己类的 class文件被JVM创建出来的这个对象

   

    任何一个数据类型 ,JVM都会赋予他一个特别的属性 属性名字 class

    静态方法中的同步锁,就是自己本类.class属性

 

java.lang.Runtime

    自己不能new Runtime对象

    获取这个类的对象  getRuntime方法获取

    static Runtime getRuntime()

    Runtime类采用单例模式设计出来的

   

    Runtime类非静态方法 exec(String s)

    调用方法,传递字符串,字符串可以是操作系统中的一个可执行的命令

 

 

 

PropertiesIO流关联使用

 load(传递字节或者字符输入流)

   流对象读取文件,文件中的键值对保存到集合

 

 store(传递字节或者字符输出流,String s)

   将集合中的键值对,保存会文件中

 

 

 

 

银行存钱

       同步方法,同步函数,同步方法只能被一个线程调用,不调用完成,其他线程不能调用

    同步方法有锁吗,肯定有锁 ,本类对象引用 this

   

    静态同步方法中,肯定也有锁,锁是谁呢,锁必须是对象

    对象就是自己类的 class文件被JVM创建出来的这个对象

   

    任何一个数据类型 ,JVM都会赋予他一个特别的属性 属性名字 class

    静态方法中的同步锁,就是自己本类.class属性

 

0 0