What's difference between FRunable():~FRunable() and FRunable:Exit()?

They seem to do the same work. Are there some special differences?

I have found the answer. We usually use “new” to create the FRunable, so FRunable():~FRunable() will not be called. UE4 will call FRunable:Exit() to clean up. We can use “delete this;” in FRunable:Exit()