I'm part of the Quasar team.
Fibers will run concurrently, the actual parallelism depends on how many CPU cores you run your program on and on the parallelism level of the fibers executor, which by default is a ForkJoinPool with a number of worker threads equal to the number of CPU cores.
Fibers are used just like threads (but much more lightweight): you spawn them, let them do their job and join them. It looks like in your case you don't need much more than that (even though Quasar offers Go-like channels, Erlang-like actors and dataflow as well, for both fibers and threads) so I suggest you take a look at the fiber docs, there are also plenty of examples but I especially suggest you start from the Gradle template.
You can pass the index/value as closure variables to an instance created from anonymous class or you could create a named sublass of Fiber
and receive them as constructor arguments.
Remember to run the agent. If you need to build a single-artifact executable JAR including the agent I suggest you take a look at Capsule.
Also consider joining the Quasar-Pulsar user group.