docs.rs failed to build terminate-thread-0.2.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
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?
[]
= "0.1"
1. Terminate an infinite loop
use Thread;
let thr = spawn;
sleep;
// 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
- Linux
- macOS
It should work in any platform support pthread,
but the real world is sophisticated to make any promise.
Issues
- Terminate the thread too quick panics. v0.2.0
use Thread;
spawn; // ← bus error
- Terminate the job which panics. v0.2.0
use Thread;
spawn;
let thread = spawn;
thread.terminate;