大家运行的结果和老师的不一样 我的运行结果出现过这样:窗口2卖了一张票,还剩余3张票
窗口1卖了一张票,还剩余3张票
窗口2卖了一张票,还剩余2张票
窗口3卖了一张票,还剩余0张票
窗口1卖了一张票,还剩余1张票
其实这一点老师在视频进度6.50这里也说了。只不过老师是以他的例子来讲而已,这一块知识在属于操作系统这门课中的并发操作。
窗口1卖了一张票,还剩余3张票
窗口2卖了一张票,还剩余2张票
窗口3卖了一张票,还剩余0张票
窗口1卖了一张票,还剩余1张票
其实这一点老师在视频进度6.50这里也说了。只不过老师是以他的例子来讲而已,这一块知识在属于操作系统这门课中的并发操作。
2017-09-11
Java线程分为两类:①用户线程:运行在前台,执行具体任务(如:程序的main线程)。
②守护线程:运行在后台,为其他前台线程服务。特点:一旦所有用户线程都结束运行,守护线程会随JVM一起结束工作。(垃圾回收线程)
设置守护线程:可以通过调用Thread类的setDaemon(true)方法来设置当前线程为守护线程。
注意:①setDaemon(true)必须在start()方法之前调用,否则会抛出IllegalThreadStateException异常。
②在守护线程中产生的新线程也是守护线程。
③不是所有的任务都可以分给守护线程来执行,例如读写操作、计算逻辑。
②守护线程:运行在后台,为其他前台线程服务。特点:一旦所有用户线程都结束运行,守护线程会随JVM一起结束工作。(垃圾回收线程)
设置守护线程:可以通过调用Thread类的setDaemon(true)方法来设置当前线程为守护线程。
注意:①setDaemon(true)必须在start()方法之前调用,否则会抛出IllegalThreadStateException异常。
②在守护线程中产生的新线程也是守护线程。
③不是所有的任务都可以分给守护线程来执行,例如读写操作、计算逻辑。
2017-06-19
这样就可以完美输出:
剩余车票:4 出售于thread---1 此线程共销售1张
剩余车票:3 出售于thread---3 此线程共销售1张
剩余车票:2 出售于thread---2 此线程共销售1张
剩余车票:1 出售于thread---1 此线程共销售2张
剩余车票:0 出售于thread---3 此线程共销售2张
这样的反馈了
剩余车票:4 出售于thread---1 此线程共销售1张
剩余车票:3 出售于thread---3 此线程共销售1张
剩余车票:2 出售于thread---2 此线程共销售1张
剩余车票:1 出售于thread---1 此线程共销售2张
剩余车票:0 出售于thread---3 此线程共销售2张
这样的反馈了
2017-06-10