terminate-thread 0.2.0

A simple terminatable thread implemented with pthread
## What is this?

It's just a simple terminatable thread implement with *pthread* for rust

## But Why?

Sometimes, I need to terminate a blocked thread. There is no way to 

do it with the standard `std::thread` without putting into some `Sync` thing.

## How to use it?

```toml
[dependencies]
terminate-thread = "0.1"
```

### 1. Terminate an infinite loop

```rust
use terminate_thread::Thread;

let thr = Thread::spawn(|| loop {
    // infinite loop in this thread
    println!("loop run");
    std::thread::sleep(std::time::Duration::from_secs(1));
});

std::thread::sleep(std::time::Duration::from_secs(1));

// Just terminate it
thr.terminate()
```

## Not a good idea!

Terminate a running thread is *ALWAYS A BAD IDEA*!

The better way is to use something like `std::sync::atomic::AtomicBool`,

to give your thread a chance to return.

## Tested Platform

- [x] Linux
- [x] macOS

It should work in any platform support *pthread*,

but the real world is sophisticated to make any promise.

## Issues

- [x] Terminate the thread too quick panics. v0.2.0

```rust
use terminate_thread::Thread;
Thread::spawn(|| {}); // ← bus error
```

- [x] Terminate the job which panics. v0.2.0

```rust
use terminate_thread::Thread;
Thread::spawn(|| panic!());

let thread  = Thread::spawn(|| panic!());
thread.terminate();
```