zoukankan      html  css  js  c++  java
  • Java线程

    实现线程的两种方式

    Thread类

    Thread类是在java.lang包中定义:

    一个类只要继承Thread类,同时覆写run()方法,就可以实现多线程。

    使用如下方法启动一个线程:

    public void start()

    native关键字,表示可以调用操作系统底层函数,这种技术又称JNI技术(Java Native Interface)

    Runnable接口

    Runnable中只有一个方法:

    void run()

    通过Thread类来启动Runable实现的多线程

    Public Thread(Runnable tatget)

    设置和取得线程名字

    在Thread类中存在以下几个方法:

    设置名字:

    public final void setName(String name)

          构造方法:

          public Thread(Runnable target,String name)

          public Thread(String name)

    取得名字:

    public final String getName()

    由于线程操作的不确定性,可以通过如下方法取得当前的操作线程

    public static Thread currentThread()

    让线程休眠

    public static void sleep(long millis) throws InterruptedException

    让线程中断

    public void interrupt()

    设置线程优先级

    public final void setPriority(int newPriority)

    public final int getPriority()

      最高:public static final int MAX_PRIORITY

      中等:public static final int NORM_PRIORITY

      最低:public static final int MIN_PRIORITY

    同步与死锁

    同步代码块:

    synchronized关键字进行同步代码块声名,使用此操作时必须明确指出到底要锁定的是那个对象,一般是以当前对象为主。

    synchronized(对象){

            //需要同步的代码;

    }

    同步方法:

    例如:

    public synchronized void test(){

    }

     方法的定义完整格式

    [访问权限[public][protected][default][private]]

    [static][final][abstract][synchronized][native]

    返回值类型|void

    方法名称([参数列表])[throws 异常1,异常2,...]{

    }

    死锁

    死锁: 是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去

  • 相关阅读:
    Jira汉化
    maven settings.xml配置用户信息
    Ubuntu 源码方式安装Subversion
    JS表格分页(封装版)
    CSS选择器之基本选择器总结
    有关Web常用字体的研究?
    关于解决不同浏览器之间的兼容性问题
    八一八浏览器内核
    DIV CSS float浮动
    JS对象
  • 原文地址:https://www.cnblogs.com/mingluosunshan/p/3217004.html
Copyright © 2011-2022 走看看