1 /* Reattore HTTP Server 2 3 Copyright (C) 2002 Michael Hope <michaelh@juju.net.nz> 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program; if not, write to the Free Software 17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 19 $Id: SafeThread.java,v 1.4 2003/01/21 22:43:12 michaelh Exp $ 20 */ 21 22 package test.juju.reattore.loadtest.controller.impl; 23 24 public class SafeThread 25 extends Thread { 26 27 private boolean running; 28 private boolean toStop; 29 private Thread thread; 30 31 public void start() { 32 super.start(); 33 34 synchronized (this) { 35 while (running == false) { 36 try { 37 wait(); 38 } 39 catch (InterruptedException ex) { 40 /* Ignore */ 41 } 42 } 43 } 44 } 45 46 public void running() { 47 synchronized (this) { 48 thread = Thread.currentThread(); 49 running = true; 50 notifyAll(); 51 } 52 } 53 54 protected void notifyEnd() { 55 } 56 57 protected boolean shouldStop() { 58 return toStop; 59 } 60 61 public void end() { 62 synchronized (this) { 63 toStop = true; 64 notifyEnd(); 65 try { 66 thread.join(); 67 } 68 catch (InterruptedException ex) { 69 /* Ignore */ 70 } 71 } 72 } 73 }

This page was automatically generated by Maven