Java "pulse" between threads
Good code! Just a few points:


super();

This line of code is automatically put in by the compiler and is unnecessary to write it yourself. If it is a habit that you have a hard time breaking, you may leave it, as it does not compromise speed, but I would leave it out, as it does clutter code slightly.
Over-spacing

Though spacing is good, too much space makes code hard to read as well. Your spacing is good, with one thing: you have a space between each line. Maybe it helps you, but I find it difficult to read.

Compare:


public final class Pulse {

    private final Object Lock = new Object();

    private volatile int count;

    public Pulse() {

        super();

        count = 0;
    }

    public void pulse() {

        synchronized (Lock) {

            count++;

            Lock.notifyAll();
        }
    }

    public void waitForPulse() throws InterruptedException {

        synchronized (Lock) {

            while (count == 0) {

                Lock.wait();
            }

            count--;
        }
    }
}



and: 

public final class Pulse {

    private final Object Lock = new Object();
    private volatile int count;

    public Pulse() {
        super();
        count = 0;
    }

    public void pulse() {
        synchronized (Lock) {
            count++;
            Lock.notifyAll();
        }
    }

    public void waitForPulse() throws InterruptedException {
        synchronized (Lock) {
            while (count == 0) {
                Lock.wait();
            }
            count--;
        }
    }

}


Note that I've kept some spaces.
private final Object Lock = new Object();

Java conventions state that variable names are camelCase, not PascalCase. Change Lock to lock.