What is the difference between this ublueprintAsyncactionbase and FRunnable?

Is the principle of this ublueprintAsyncactionbase the same as FRunnable implementation?
What is the use of ublueprintAsyncactionbase and FRunnable?