linkedin / parseq

Asynchronous Java made easier
Apache License 2.0
1.17k stars 266 forks source link

updating javadoc for Task.par() solving #63 #283

Closed r00pal closed 4 years ago

r00pal commented 4 years ago

63

Updating javadoc for Task.par() when parallel tasks are actually executed in parallel. Current documentation is kind of misguiding, it should be clearly menntioned that Tasks composed using Task.callable will not be executed in parallel.

aman1309 commented 4 years ago

Thanks for updating the doc but it might improvement based on the parseq execution model (refer the video I forwarded). Regarding your issue with Task.callable(), I'll check for any issues since .par shouldn't be dependent on this.

aliciatang commented 3 years ago

Task.par only create another wrapper task, a ParTask, and when any task submitted to the engine it will be allocated a (single) thread. So, when you do Task.blocking( task, engine), the task is submitted to engine directly. when you do partask = task.par(tasks), engine.run(partask), the partask will take a single thread, and all tasks within it will run on the same thread as the partask. I think we should have an option for task.par to run in max allowed number of threads. But that would expose the lower level API and make it harder to understand.