去掉 if (cvWaitKey(15) == 27)break;后你的程序一直在执行while循环并且判断g_switch_value是不是等于1,同时并没有另一个线程去修改g_switch_value的值。所以程序就死循环了!!