recoverable-thread-pool 1.0.1

A thread pool that supports automatic recovery from panics, allowing threads to restart after a panic. Useful for resilient and fault-tolerant concurrency in network and web programming.
Documentation

recoverable-thread-pool

Official Documentation

Api Docs

A thread pool that supports automatic recovery from panics, allowing threads to restart after a panic. Useful for resilient and fault-tolerant concurrency in network and web programming.

Installation

To use this crate, you can run cmd:

cargo add recoverable-thread-pool

Use

use recoverable_thread_pool::*;
let thread_pool: ThreadPool = ThreadPool::new(1);
let first_res: SendResult = thread_pool.execute(
    || {
        println!("first");
    },
    |_err| {},
    || {
        println!("finally");
    },
);
println!("{:?}", first_res);
let panic_res: SendResult = thread_pool.execute(
    || {
        panic!("[panic]");
    },
    |err| {
        println!("Catch panic {}", err);
        panic!("[panic]");
    },
    || {
        println!("finally");
    },
);
println!("{:?}", panic_res);
let second_res: SendResult = thread_pool.execute(
    || {
        panic!("[panic]");
    },
    |_err| {
        panic!("[panic]");
    },
    || {
        println!("finally");
    },
);
println!("{:?}", second_res);
loop {}

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

Contact

For any inquiries, please reach out to the author at ltpp-universe root@ltpp.vip.