Similar question - Accessing a database with multiple threads
The Oracle JDBC interfaces, as well as the built-in Oracle drivers (I suppose) are capable of handling multi-threaded requests ( http://www.cs.umbc.edu/portal/help/oracle8/java.815/a64685/tips1.htm )
However, when it comes to implementing a database engine, this is not clear. From the current documentation, I understand that as long as your request is READONLY without the intention to update the lack of locking, and you should see a performance increase (at least a slight one).
However, there are many other factors that determine whether a parallelism engine will be used. Server hardware configuration (multi-core), etc. It can also determine whether the query engine uses a parallel or queued approach.
By the way, how much time difference do you observe in both approaches that you tried. What was the size of your data?
source share