Kopier koden og test den i Eclipse. Man vil raskt se at selv om alle taxiene "kjører" 4 km, utføres ikke koden fullstendig for hver taxi før den neste får starte. Taxiene "sover" også en tilfeldig tid mellom hver km, så det er ikke gitt at den som starter først, kommer fram først. 

Taxi-threads
public class Taxi extends Thread {
	
	public static int instances;
	private int taxinr;  
	
	public Taxi() {
		taxinr = Taxi.instances++;
	}
	
	public void run() {
		
		int initialwait = (int) (Math.random()*1000);
		
		try {
			Thread.sleep(initialwait);
		} catch (InterruptedException e1) {
			// nix
		}
	
		for (int i = 1; i < 5 ; i++) {
			
			System.out.println("Taxi " + taxinr + " has drived " + i + " km");
		
			int tempwait =(int) (Math.random()*1000);
			
			try {
				Thread.sleep(tempwait);
			} catch (InterruptedException e) {
				// nix 
			}
		}
	}
	
	public static void main(String[] args) {
		
		for (int i = 0; i < 5; i++) {
			(new Taxi()).start();			
		}
	}
}