我用"taskqueue_start_threads(&tq, 1, PI_NET, tq_name)" 创建了一个线程来完成这个task queue, 而且机子有4个cpu. 我可以绑定这个线程到特定一个cpu,让它始终工作在这个cpu上面吗? 我尝试用sched_bind(FIRST_THREAD_IN_PROC(*tq->tq_pproc), 1) 但是不起作用。对了, 内核是用ULE scheduler. 多谢。
好像除了在onconfig文件中配置,还可以手工绑定,这样也不用重启数据库。不过不知道在操作系统级怎么看到infomrix的线程。 求教具体步骤.
请问各位大侠,如果程序是多线程的,程序设计的如果不合理,会不会在多cpu环境下反而影响性能,反到比单cpu的情况下性能更差?我在学习这方面知识,也找到了一个程序观察到这种现象。但是我觉得不符合逻辑。我认为最坏的可能性是性能没有任何改善,怎么可能会反而慢呢?
我在一个C++程序中创建了两个线程:
#include