Multithread refactored

Using CancellationToken instead of ManualResetEvent