Advise for Multithreading learning with UE4

I am new to programming in C++ with UE4(Iearning for 10 month) and have already understood basic concepts. Now i wanna to learn how multithreading works in C++ and how to implement it in UE4(I mean handle running custom code on separate threads) but i can’t find any informations for newbies. I found Rama’s articles on wiki but i dont understand them.
Maybe i should learn how multithreading works in “standart” way, for example read this book - ?
Can you advise some “starting points” and way to go further? Thanks.

In my experience, the approach that works best for me is:

  1. Learn the C++: it’s a lot easier to look at what UE4 is doing if you can easily distinguish what is regular C++ from what is specific to the design of the UE4 system. I usually find that reviewing the relevant chapters of Bjarne Stroustrup’s “The C++ Programming Language” sufficient.

  2. Scan for what documentation is available on-line - like the Rama wiki you refer to. I usually look at a few.

  3. Pick an example as you have done and familiarize myself with not just the example but the relevant sections of the UE4 Engine API and underlying Source code for the key classes involved in the functionality I’m learning. Usually the “real C++” (in this case the calls to the core C++ multi-threading commands) is wrapped under a few layers of abstraction in the source code. I have the source code downloaded and use VisualAssist and with that setup, it is very easy to trace back through the source to see the how UE4 actually works under the hood.

For example, in this case I would get Rama’s code up and running in a project and then trace the key calls back to source for classes like FRunnable, FRunnableThread and FThreadsafeCounter. You may need to add some #includes to Rama’s code, it looks like it pre-dates the switch to “include what you need”. Also check out this version of the same example : (Orfeas Multithread Example)