面试之线程篇

线程:共享进程中的资源

实现方式

1,继承父类Thread       重写run方法

2,实现接口Runnable   实现run方法

启动进程:调用start()方法  而不是run

线程同步:多个线程并发访问同一数据时,容易发生数据状态不稳定

每个类一把锁,每个对象一把锁

只有获取锁的线程才可以进入同步区域

同步方法:获取的锁是当前对象的锁,粒度只能是方法

1 public void synchronized function() {
2     // 具体代码
3 }

 

同步块:获取的锁是任意对象的锁,粒度更小

1 synchronized(this) {
2     // 具体代码
3 }

 

sychronized

线程间的通讯

wait:使当前线程进入指定对象的等待池

notify:从指定对象等待池中唤醒一个等待线程

notifyAll:从指定对象等待池中唤醒全部等待线程

只有获得该对象的锁后才可以调用上述方法

 

B线程和A线程通讯 A线程在指定对象的等待池中等待,  B线程在指定对象等待池中唤醒A线程

 

posted on 2015-09-03 08:52  天娱邪神  阅读(151)  评论(0编辑  收藏  举报