public static void sleep(long millisec) throws InterruptedException public static void sleep(long millisec, int nanosec) throws InterruptedException public static void yield();yieldメソッドは,現在実行中のスレッドを一旦とめて,他のスレッドが 実行されることを許すためのメソッドで,その時点でカレントスレッドを実行さ せる必要がないということをスケジューラに伝える.
// Babble.java class Babble extends Thread { static boolean doYield; static int howOften; private String word; Babble(String whatToSay) { word = whatToSay; } public void run() { for (int i=0; i < howOften; i++) { System.out.println(word); if (doYield) Thread.yield(); } } public static void main(String[] args) { doYield = new Boolean(args[0]).booleanValue(); howOften = Integer.parseInt(args[1]); for (int i=2; i < args.length; i++) { new Babble(args[i]).start(); } } }実行すると次のようになる.
% java Babble false 2 Did DidNot Did Did DidNot DidNot % java Babble true 2 Did DidNot Did DidNot Did DidNot % java Babble true 4 Did DidNot Did Did DidNot Did DidNot Did DidNot DidNot % java Babble true 4 Did DidNot Did DidNot Did DidNot Did DidNot Did DidNot % java Babble faulse 4 Did DidNot Did Did Did Did DidNot DidNot DidNot DidNot % java Babble fauls 4 Did DidNot Did Did Did Did DidNot DidNot DidNot DidNot % java Babble fauls 4 Did DidNot Did Did Did Did DidNot DidNot DidNot DidNot % java Babble fau 4 Did DidNot Did Did Did Did DidNot DidNot DidNot DidNot