Asynchronous Loading in Background job


I have an application which is searching in some other systems for the user. At the moment there are six systems attached to my system and when I insert 3 searchValues there is some time of loading.
So I want to load in Background and all Systems at the same time.

My result for presentation in the Grid is a map in a map.
The inner map is like searchedSystem : values.
The outer map is searchValue : innerMap.

Is it possible to start the search for every subsystem at the same time or looped but asynchronouse and then reload the dataProvider every time an external system is responding?

How should I do it?
I’ve tried doing it like in the tutorial for asynchronouse updates, but now I get an error if I try to refresh the dataProvider in the thread.

But my page doesn’t know when my thread has finished.

When you need some code tell me which part.

Best regards