现在才深深地体会到,线程在某个场合中的确是个好东西,特别是在资源利用方面,展现它的优势。不过,前提是在没有资源冲突的情况下。
有时候,你要重复做一个动作和事件,当做这个动作或事件的时候,最好函数体内不要写一个死循环while(true)。如果写了,你会发现程序界面是死翘翘的,虽然实时的功能还在继续。
这时,充分考虑好关系之后,尝试一下利用线程。
recordThread = new Thread(RecordSound);
recordThread.IsBackground = true;
recordThread.Start();
当然,线程里面也可以嵌套线程,不过增加了复杂度和不易阅读。
private void RecordSound()
{
while (record_flag)
{
senderThread = new Thread(SendSound);
senderThread.IsBackground = true;
senderThread.Start();
}
}