2 qq 34579183 qq_34579183 于 2016.04.07 21:32 提问

小白求助:线程问题求大神给点思路

![图片说明

图片说明

我现在知道那个窗口卖的是多少号票

我想知道卖出一张票后,剩余的总票数

4个回答

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.04.07 21:36

你的那个变量是剩余票呢?num的话不就是直接就是num吗?

qq_34579183
qq_34579183 我现在知道那个窗口卖的是多少号票。 我想知道卖出一张票后,剩余的总票数
2 年多之前 回复
qq_34579183
qq_34579183   2016.04.07 21:46

图片说明

qq_25827845
qq_25827845   2016.04.07 22:39

售票案例演示[Thread05.java]

/**

  • 功能:使用线程的注意事项
  • 线程并发同步锁synchronized(Object){}的使用
    */
    public class Thread05 {
    public static void main(String[] args) {
    //定义一个售票窗口
    TicketWindow tw1=new TicketWindow();

    //使用三个线程同时启动
    Thread t1=new Thread(tw1);
    Thread t2=new Thread(tw1);
    Thread t3=new Thread(tw1);
    
    t1.start();
    t2.start();
    t3.start();
    

    }
    }

//售票窗口类
class TicketWindow implements Runnable {
//共有2000张票
private int nums=2000;
private Dog myDog=new Dog();

public void run() {
    while(true){
        //出票速度是1秒出一张
        try {
            Thread.sleep(1000);
        } catch (Exception e) {
            e.printStackTrace();
        }

        //认为if else要保证其原子性
        //先判断是否还有票
        synchronized(myDog){
             if(nums>0){
                //显示售票信息
                //Thread.currentThread().getName()得到当前线程的名字
System.out.println(Thread.currentThread().getName()+"正在售出第"+nums+"张票");
                    nums--;
            }else{
                //售票结束
                 break;
             }
        }
     }
 }

}

class Dog{
}

qq_25827845
qq_25827845   2016.04.07 22:42

你那没加同步锁,没意义呀。卖票的各个线程直接具有不确定关系。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
入门程序员——从小白到大神
新人自传
从程序员小白到大神的正确打开方式!
原文地址 一个程序员大神是如何炼成的?突然想到了个问题。于是乎思考了下这个问题感觉很有意思,在上网找了些答案发现了成为一名优秀的程序员必备5个技能。 NO.1 问题分解 编程讲的是如何解决问题。但在你开始写代码之前,你需要清楚如何解决问题。一个好的程序员应该拥有这样的技能,他能将问题分解成子问题,直到每个子问题都可以很轻松地进行解决。不过要找到一个解决问题的方式可
新手入门,学习java从小白到大神应该从何做起?
编程入门先学什么?关于编程,关于编程的基础语言,想要学习的朋友,一定会多多少少了解一些。像 C、C++、Python和Java四种都是通用的编程语言,而JavaScript和PHP算是Web环境的专用编程语言。但其实,编程的语言有很多种,想要入门编程,要学习的编程语言也很多。在这里我就简单总结下编程入门的一系列学习方法。        上面我们提到,学习编程的语言有很多种,像C、C++、Pyth
【备忘】 2017年5月炼数成金《MySQL DBA从小白到大神实战》视频教程
2017年5月炼数成金《MySQL DBA从小白到大神实战》视频教程
和小白一起学ABAP -- 6 从菜鸟到大神
来源网文,原文
小白软件工程师历程
序言 将自己作为一个无知的海绵,去吸收更多的知识来充实自我。 正文 不知不觉,已经毕业三年,工作三年了。趁着难得空闲时间,对自己的工作好好进行下梳理。 大学毕业,进入一家相对规模不错的公司入职,进入到一个云集了各种大神的部门。还记得刚刚到达时候的各种恐慌,因为周围的同事太强悍,每个人都是那么的优秀,那么的独挡一面。笨鸟先飞,别人能够靠工作效率解决的问题,我只能靠加班去解决,花更多的时间去学
一个优秀的程序员是如何炼成的?(大神、小白通吃的干货,不信你
一个优秀的程序员是如何炼成的?问一下自己这个问题会很有意思。这能让你好好思考一下软件开发的过程。拿它来问一下同学朋友也不错,这能引起一些关于团队如何一起协作开发的很有意思的讨论。我个人认为,成为一名优秀的程序员必需要5个技能。 问题分解   编程讲的是如何解决问题。但在你开始写代码之前,你需要清楚如何解决问题。一个好的程序员应该拥有这样的技能,他能将问题分解成子问题,直到每
从基础小白到业内大神,ps高手的成长之路
他是《ps高手炼成记》丛书作者 网易金云奖获得者 领跑设计创办人 学员60万 …… 他是顾领中 你的最后一个设计老师     现在的顾领中老师,学员累计高达60万,但是一开始让他走上设计之路,纯属是当初填错大学志愿。 成为了设计系新生的顾领中,身在曹营心在汉,心中仍然满是金融、银行、公务员。 但是命运既然选中
代码干货|小白一夜变身前端大神,究竟经历了什么
作为刚刚接触前端的童鞋,对学习的方向可能会感到迷茫,通过阅读者篇文章相信会对你的学习方向有所帮助!
HTML入门学习(小白篇)
HTML入门学习(小白篇)html是一种超文本标记语言,是一种用于创建网页的语言<!DOCTYPE HTML> 编码规范,告诉浏览器这是属于什么类型的文档,使用了哪个版本的HTML,不区分大小写<meta charset="utf-8"> 声明编码方式,utf-8中文编码的一种,一些浏览器会设置默认的编码方式为gbkhtml注释:  <!-- -->html的后...