Java自学资料——线程

时间:2023-03-09 05:08:52
Java自学资料——线程

【转】传智播客成都java培训中心学员笔记。



线程:



static int MAX_PRIORITY 线程能够具有的最高优先级。


static int MIN_PRIORITY 线程能够具有的最低优先级。


int NORM_PRIORITY 分配给线程的默认优先级。


线程不做严格的要求。

可是: 至少得知道 创建和启动线程的两种方式;并能区分出两种的异同;



static Thread currentThread()


setName(String name)设置当前线程的名字

getName();获得线程名字

setPriority(int i);设置优先级

int getPriority() 返回线程的优先级。


boolean isAlive() 測试线程是否处于活动状态。

boolean isDaemon() 測试该线程是否为守护线程。

void setDaemaon(true):表示设置后台线程



sleep(休眠),join(抢),yield(礼让),



启动方法: start();



new Thread(Runnable r).start();



new Thread的子类().start();



同步:三种方法:



同步代码块:

synchronized(obj){



newObject()

//obj表示同一个监听对象

//须要同步的代码

}



同步方法:

synchronized 方法。。

。。。。。。

。。。

{



}



可重入锁:

ReentrantLock



class A{

private final ReentrantLock lock = new ReentrantLock();



public void show(){

lock.lock();//锁了



try{

//可能出现不同步的代码


}finally{

lock.unlock();//是否锁

}



}



}



线程的通讯: 生产者与消费者关系



死锁:开发中药避免死锁



笔试面试的时候。装B的公司喜欢考;

线程的和进程的概念:面试前多背



另一个笔试不多的,可是也是他们常常拿出来炫耀的:

生产者和消费者

同步:

Object里的三个方法:

wait();//等待

notify();//唤醒一个线程。

自己不能唤醒自己

notifyAll();//唤醒全部的线程



成都传智播客,专业的java培训机构,成都android培训。成都java培训首选成都传智播客