pub trait ServiceThread {
// Required methods
fn start(&mut self);
fn shutdown(&mut self);
fn make_stop(&mut self);
fn wakeup(&mut self);
fn wait_for_running(&mut self, interval: i64);
fn is_stopped(&self) -> bool;
fn get_service_name(&self) -> String;
}