一个线程的问题?
在一个线程中调用另外一个线程,比如:A线程调用B线程
A线程只接收简单数据,并存数据。(耗时小)
B线程分析A线程存入的数据。(耗时大)
A线程的优先级为tpHigher
B线程的优先级为tpIdle
那么按照理论的说法先执行A线程然后再执行B线程,如果A线程有数据进来,B线程将等待A线程接收数据完毕后再继续它原来的工作。
比如:
我同时发送10条数据,A线程将在1秒中接收完数据,而B线程分析数据要20秒钟
应该是A先执行,B等待,A接收完,B开始分析。
可是实际中却不是这样,A线程会等待B线程分析完后才接收下一数据。
变成:A先接收1条数据,B分析1条,A再接收1条,B再分析1条.........
请大家帮我分析分析,为什么会这样? (线程写法没问题,程序运行半年很稳定)