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培训首选成都传智播客

posted @ 2016-01-16 09:19  phlsheji  阅读(159)  评论(0编辑  收藏  举报