I read that join blocks the thread that called it until the thread function returns. So if my main thread creates a boost thread and then calls join then my main thread would be blocked.
In my case the ui is the main thread and it needs to wait for the thread to finish before it could execute the next statement and when I use thread.join() then the UI freezes. I currently have something like this

```
boost::thread t(&Myclass::mymethod,ptr,parameter);
t.join();  //This blocks the ui
SomeOtherMethd();

```

Now my question is how can I wait for thread t to end and then call SomeOtherMethod without blocking the UI. Since t.join() seems to freeze the ui