java中线程的知识入门了解02

为了进一步了解线程,我们从一个经典的买车票的例子开始。

假设铁道部的网站上有100张火车票,三个售票点一起开始卖票。我们用一个售票点一个线程来模拟,实现多线程。

先看一个程序


输出结果如下:


以上说明:一个线程对象只能启动一个线程,无论你掉用多少遍start()方法都是不行的。

那么就会有人跟我一样会去尝试以下这种方法了。

修改原来的主函数里的内容,如下:


结果如下:


以上中每个线程都从100开始计数,也就是铁道部本来只有100张票,现在却要卖300张,显然不合理。这不是我们所想要的多线程。

 

想要达到我们的要求只有创建一个共同的资源对象(即100张票),但要多个线程去处理同一个资源,并且每个线程所运行的程序代码是一样的。这时候我们就得考虑实现多线程的另一种方式了,如我上一篇博客中写道的。实现Runnable接口。

具体如下:


结果如下:


 到此我们实现我们想要的效果,哈哈。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值