线程同时启动讨论
我同事去腾讯面试,有道问题我印象深刻,如下:
类似赛车游戏.比如说跑跑卡丁车吧,一共8辆车同时开跑,这个线程如何启动.
估计是考wait和notify方法问题.
我自己也想了很多,什么线程池啊一类的,但是我同时也是这么一说,那位面试官说不是这样实现的.
我自己的答案是:用一个list存放8辆车的线程.等倒计时到0之前是wait,0秒后循环集合notify.
不能用notifyAll,因为会把别的线程给全启动了.
但是线程是有调度的,不可能同时启动.这是我疑惑的原因,怎么样才能说是同时.
或许可以不考虑毫秒之间的差异.
希望有做过类似的游戏的朋友解解疑惑,也欢迎大家讨论讨论,看看还有没有其它更好的方法.
类似赛车游戏.比如说跑跑卡丁车吧,一共8辆车同时开跑,这个线程如何启动.
估计是考wait和notify方法问题.
我自己也想了很多,什么线程池啊一类的,但是我同时也是这么一说,那位面试官说不是这样实现的.
我自己的答案是:用一个list存放8辆车的线程.等倒计时到0之前是wait,0秒后循环集合notify.
不能用notifyAll,因为会把别的线程给全启动了.
但是线程是有调度的,不可能同时启动.这是我疑惑的原因,怎么样才能说是同时.
或许可以不考虑毫秒之间的差异.
希望有做过类似的游戏的朋友解解疑惑,也欢迎大家讨论讨论,看看还有没有其它更好的方法.
...全文
相关推荐
java线程池:获取运行线程数并控制线程启动速度的方法
同时,我们也讨论了使用ThreadPoolExecutor的优点,例如改善系统性能、减少线程创建的开销和提高系统的可靠性。
易语言多线程多次启动一个子程序
本节将详细讨论如何在易语言中实现多线程以及多次启动同一个子程序。一、易语言简介易语言是一种以中文作为编程语句的编程环境,它的设计目标是降低编程难度,让更多的人能够参与到编程中来。
易语言批量启动多线程源码-易语言
在易语言中,我们可以使用内置的线程支持来创建和控制这些线程。下面,我们将详细讨论易语言中的多线程概念以及如何实现批量启动线程。1.
程序启动退出 多线程
本文将详细探讨这两个主题,同时结合MFC(Microsoft Foundation Classes)框架和数据采集的应用。首先,程序启动时的参数检查是确保程序能够正常运行的基础。
易语言-易语言启动线程传自定义数据类型参数
在易语言中,启动线程(Thread)是多任务处理的重要组成部分,它允许程序同时执行多个不同的任务,提高软件的运行效率。本文将详细讨论易语言中启动线程并传递自定义数据类型参数的相关知识点。1.


Java SE
