001 /*
002 * LAPIS lightweight structured text processing system
003 *
004 * Copyright (C) 1998-2002 Carnegie Mellon University,
005 * Copyright (C) 2003 Massachusetts Institute of Technology.
006 * All rights reserved.
007 *
008 * This library is free software; you can redistribute it
009 * and/or modify it under the terms of the GNU General
010 * Public License as published by the Free Software
011 * Foundation, version 2.
012 *
013 * LAPIS homepage: http://graphics.lcs.mit.edu/lapis/
014 */
015
016
017 package lapisx.util;
018
019 public abstract class Thr {
020 /**
021 * Test whether the current thread has been interrupted with
022 * Thread.interrupt(). If so, a ThreadDeath exception is thrown
023 * to kill it cleanly. If a background thread
024 * calls check() periodically, then Thread.interrupt() will
025 * kill it cleanly and safely at the next check() call. Catch ThreadDeath
026 * or use a try-finally construct if your background thread needs to do
027 * any resource cleanup.
028 *
029 * @exception ThreadDeath if and only if
030 * Thread.currentThread().isInterrupted() is true.
031 */
032 public static void check () throws ThreadDeath {
033 if (Thread.currentThread ().isInterrupted ())
034 throw new ThreadDeath ();
035 }
036 }