Synchronization - in COBOL and Java

COBOL Java
*> Synchronize on an object's monitor,
*> in this case the current object
class-id synchronization public.
01 _items list[string].
method-id addItemsSafe (items as string occurs any).
    sync on self
        perform varying auto item thru items
            write _items from item
        end perform
    end-sync
end method.

method-id addItemSafe (item as string) sync.
    write _items from item
end method.

end class.
Class
// Synchronize on an object's monitor
// in this case the current object
public class synchronization {
    private ArrayList<string> _items;

    public void addItemsSafe(String[] items) {
        synchronized (this) {
            for (String item : items) {
                 _items.add(item);
            }
        }
    }
    synchronized public void addItemSafe(String item) {
        _items.add(item);
    }
}

Portions of these examples were produced by Dr. Frank McCown, Harding University Computer Science Dept, and are licensed under a Creative Commons License.