Automated Software Inspection
JDJ Issue 05-11; p.106

Listing 1
  /**
     * Synchronized method to add an element.
     */
    public void addElement( Client incomingClient )
    {
synchronized( lock ) {
Log query = incomingClient.getLog();
  results = query.getAllSearchResults();
          for ( int k = 0; k < results.length; k++ ) {
              ...
             setMaxColSize(XTable);
             tableData.add(XTable);
          }
   }
    }

Listing 2
public class Simple extends Thread {

        private int countdown = 5;
        private int threadnum;
        private static int threadcnt = 0;

        public Simple() {
                threadnum = ++threadcnt;
                System.out.println("Making "+threadnum);
        }

        public void run() {
                while (true) {
    System.out.println("Thread " +
                        threadnum+ "("+countdown+")");
                        if (--countdown == 0) return;
                }
        }

        public static void main(String args[]) {
                for(int i=0; i<5; i++)
                        new Simple().start();
        }