for (nowList->match_curr = nowList->first; nowList->match_curr != nowList->last;) {
cnt_1 += 1;
Node* nextNode = nowList->match_curr->next;
}
经调试,发现,进入for循环时,nowList->match_curr根本不是nowList->first的值,
nowList->match_curr的值:0x0000020ede437790,nowList->first的值:0x0000020ede439230
该循环已占用互斥锁,别的线程不可能此时访问nowList资源
你所谓的调试时,还没执行nowList->match_curr = nowList->first这句。