预备知识1:生产者-消费者模式,在通信软件开发中,经常涉及到消息的处理,实现时会采用生产者-消费者的模式;在同一个进程地址空间内执行的两个线程,生产者线程产生消息,然后将消息放置在一个缓冲区中供消费者线程处理,消费者线程从缓冲区中读取消息进行处理,当生产者线程产生消息时,如果缓冲区满,那么生产者线程必须等待消费者线程处理完消息以释放缓冲区。当消费者线程在读取消息进行处理时,如果缓冲区中没有消息,那么消费者线程将被阻塞,直到有消息被生产出来。
预备知识2:二叉树是一种特殊的树型结构,它的特点是每个结点至多只有二棵子树,并且,二叉树的子树有左右之分,其次序不能任意颠倒。中序遍历的顺序:(1)中序遍历左子树;(2)访问根结点;(3)中序遍历右子树。