+ delete priv_;
+}
+
+void Thread::join()
+{
+ if(!launched_)
+ return;
+
+#ifdef WIN32
+ WaitForSingleObject(priv_->handle, INFINITE);
+#else
+ pthread_join(priv_->handle, 0);
+#endif
+ launched_ = false;
+}
+
+void Thread::kill()
+{
+#ifdef WIN32
+ TerminateThread(priv_->handle, 0);
+#else
+ pthread_kill(priv_->handle, SIGKILL);
+#endif