【发布时间】:2016-08-26 05:43:09
【问题描述】:
我有一个有趣的问题,看起来很简单,但我似乎可以在网上或 stackoverflow 上找到任何解决方案。
我有一个程序可以生成线程来搜索迷宫的路径以找到出路。到达死胡同后,线程返回到它来自的结点并将方向标记为死,因此没有其他线程向下看。类似地,在到达出路时,线程返回并将其来自的方向标记为金色,如果线程找到一条金色路径,它会忽略其他所有内容并按照金色方向到达出口并终止。
我的问题是,如果一个线程找到了出口,我希望它在从处理器启动以耗尽它的处理器时间份额之前,一直返回到标记黄金方向的开始交界处。目前一个找到出口的线程可以在处理器上的时间量用完并且暂时被踢出处理器时,可以通过标记出路的一半,所以一些线程仍在探索迷宫的早期部分在他们可以出去的路上浪费时间。
我如何确保刚刚找到出口的线程“t”一直在处理器上,直到它自行终止。
提前致谢。
【问题讨论】:
-
when it gets booted off- 这到底是什么意思? -
哦,对不起,没有意识到那条评论有多么含糊,希望我的编辑能澄清我的意思。
-
对不起,也许我太天真了,但是你能不能改变你的代码,如果一个线程找到
exit,那么它会设置它的quantum of time,所以它不会得到booted off? -
你能提高线程的优先级,以确保这个线程继续前进,实际上是立即调度而不是其他线程,抢占式?
-
你需要发布一些代码。
标签: java multithreading concurrency