Closed gamezhoulei closed 2 months ago
看你想怎么用了, 1、将brpc的worker线程池和spdk的线程独立开。 2、使用一个队列,形成生产者消费者,把spdk作为一个单线程的消费者。 3、worker线程和spdk是同一个线程,这种情况下需要对brpc做一些改造了。
看你想怎么用了, 1、将brpc的worker线程池和spdk的线程独立开。 2、使用一个队列,形成生产者消费者,把spdk作为一个单线程的消费者。 3、worker线程和spdk是同一个线程,这种情况下需要对brpc做一些改造了。
独立开来, brpc可以绑定到对应的core么
可以的,brpc有个函数: // Add a startup function that each pthread worker will run at the beginning // To run code at the end, use butil::thread_atexit() // Returns 0 on success, error code otherwise. extern int bthread_set_worker_startfn(void (*start_fn)());
// Add a startup function with tag extern int bthread_set_tagged_worker_startfn(void (*start_fn)(bthread_tag_t));
可以在这个函数里面完成绑核的工作。
可以的,brpc有个函数: // Add a startup function that each pthread worker will run at the beginning // To run code at the end, use butil::thread_atexit() // Returns 0 on success, error code otherwise. extern int bthread_set_worker_startfn(void (*start_fn)());
// Add a startup function with tag extern int bthread_set_tagged_worker_startfn(void (*start_fn)(bthread_tag_t));
可以在这个函数里面完成绑核的工作。
好的, 感谢. 只要我spdk和brpc设置不同的core, 就好了.
各位大佬, 请问一下, brpc和spdk框架一起使用的时候, 二者的线程模型会相互影响么