要实现多线程必须要有多线程能力,
1、使用Thread类或者继承Thread类或实现Runnable接口重写run()方法,将要执行的代码放到run()方法的方法体内,即可。
2、使用Timer类和TimerTask组合。
Timer会创建一个守护线程(后台线程),它里面的四个重载的schedule
方法比较重要。
Timer类形象的可比喻为“闹钟”,Timer就是过多少时间调用什什么么方法,类似于
“破解密码”那种(私人认为)。
资源同步问题:要用到synchronized 标记对相应的临界资源对象进行加锁,只允许一个线程访问和修改临界资源,可以使用synchronized修饰方法也可以使用synchronized修饰代码块方式:
public synchronized void 方法名(){
对临界资源访问的语句……
}
synchronized(临界资源对象){ //通常 参数临界资源对象 用this代替
对临界资源访问的语句……
}
以上两种方法都要建立临界资源类,在该类里面写入加锁方法。要在对临界资源访问的语句中
合理使用wait()和notify()方法使当前线程等待并释放锁,唤醒其它访问临界资源的线程。
下面这个网址是介绍关于加锁解锁的问题,最好看一看,。
http://www.cnblogs.com/GnagWang/archive/2011/02/27/1966606.html