黑马程序员技术交流社区
标题:
写一个多线程的程序,并解释其实现的原理。
[打印本页]
作者:
linguoqun
时间:
2016-8-4 01:18
标题:
写一个多线程的程序,并解释其实现的原理。
本帖最后由 linguoqun 于 2016-8-4 01:21 编辑
上课的时候老师演示了一个多线程的程序,我没听明白。不知道为什么要那样子写。而且讲到了不同线程会抢占执行所需的cpu资源,越听越迷糊了。请大神写一个多线程的程序,并简单讲一下其实现在原理。谢谢!
作者:
xueyezhishi
时间:
2016-8-4 07:29
百度搜的线程实例:2个人去银行取钱。
不同线程抢资源,是因为资源唯一。当一个线程占用资源时,另一个线程必须等待该线程释放资源,才能进行调用
public class Singleton3{
public static void main(String args[]){
Runner r=new Runner();//两个线程t1,t2共用一个接口实例
Thread t1=new Thread(r);
t1.setName("用户一");
Thread t2=new Thread(r);
t2.setName("用户二");
t1.start();
t2.start();
}
}
class Runner implements Runnable{ //实现Runnable接口,重写线程方法run()
private int count=2000;
public void run(){
synchronized (this) { //锁synchronized表示该块同时只允许一个线程访问
for(int i=0;i<4;i++){
count=count-100;
System.out.println("当前线程:"+Thread.currentThread().getName()+" ,银行存款的余额是: "+count);
}
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2