Соединение, которое вы создаете, выбирающее для обновления, должно быть таким же, как и для обновления. В противном случае он не является частью одной и той же транзакции и освобождает блокировку, поэтому ваши другие потоки начинают ее выполнять. Поэтому в вашем коде вам нужно сделать это:
if (rs.first())
{
String s = rs.getString("HostName");
oid = rs.getLong("OID");
System.out.println("oid_oldest/host/threadName=="+oid+"/"+s+"/"+threadName);
}
Util.doUpdateTest(oid,name,conn);
conn.commit();