当前位置: 代码迷 >> J2SE >> 求一段程序怎么实现
  详细解决方案

求一段程序怎么实现

热度:44   发布时间:2016-04-23 20:33:16.0
求一段程序如何实现?
有一段老程序:
[code=java]
class PrintServer implements Runnable {
private final PrintQueue requests = new PrintQueue();

public PrintServer() {
new Thread(this).start();
}

public void print(PrintJob job) {
requests.add(job);
}

public void run() {
for(;;) {
realPrint(requests.remove());
}
}

private void realPrint(PrintJob job) {
//do the real work of printing
}
}
[/code]

现在需要修改这个程序,使只有在构造器中创建的线程才能成功地执行run方法,建议使用线程标识来实现。
------解决方案--------------------
引用:
Quote: 引用:

你指的构造器是线程自身的构造器,还是主方法的构造器呢?加标识是可以的。限制某些方法才能加标识,然后run方法里判断标识。

应该是主方法的构造器吧,大师,你能提供一段代码供参考么,这个题目是The Java Programming Language书里的线程章节的练习题,找不到答案,所以求解了。 对你说的加标识的方式不是太明白。 PS:感谢回复

PrintServer 里设置个标记flag,主方法new PrintServer ();操作之后,在将new的对象的flag设置为true,run方法里判断flag不为true就return。
  相关解决方案