ResultSet, вероятно, является результатом запроса JDBC.
Эта конструкция почти наверняка обречена на провал.
Реализации интерфейса JDBC не являются поточно-ориентированными.
ResultSet - это запуганные ресурсы, которые должны быть закрыты в той же области, в которой они были созданы. Если вы раздаете их, вы напрашиваетесь на неприятности.
Многопоточный код трудно писать хорошо, и даже сложнее отлаживать, если он неправильный.
Вы почти наверняка движетесь в неправильном направлении с этим дизайном. Я бы поставил большую сумму денег, что вы виновны в преждевременной оптимизации. Вы надеетесь, что несколько потоков сделают ваш код быстрее, но то, что произойдет, - это нарезка десяти потоков времени на одном процессоре с одинаковым или более длительным временем. (Переключение контекста тоже требует времени.)
Немного лучшей идеей было бы загрузить ResultSet в объект или коллекцию, закрыть ResultSet, а затем выполнить некоторую многопоточную обработку этого возвращаемого объекта.