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,...]{

}

死锁

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

转载于:https://www.cnblogs.com/mingluosunshan/p/3217004.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值