我定义了一个方法SetupInfo(),将查询到的结果绑定到datagridview,定义一个方法SetupStyle()
根据某个单元格的值,设置该单元格所在行的颜色。
SetupInfo(),执行后,开始一个子线程执行SetupStyle(),
还有一个按钮刷新,单击时会重复上面的过程。
因为SetupStyle()执行的时间比较长,当短时间内连续执行这个过程时(比如连续单击刷新按钮),可能会出现子线程未执行完的时候又开始了一个子线程。程序就出现直接关闭的情况。
菜鸟求问大神们该如何做。
加个成员变量
long _pending;
if(InterlockedCompareExchange(_pending,1,1) == 0)
start thread run setupstyle;
void setupstyle()
{
interlockedExchange(_pending,0);
}
lock(){}