Python基于周立功盒子接收特定报文信号并实时绘制折线图(二)

Python基于周立功盒子接收特定报文信号并实时绘制折线图(二)

一、背景
    根据在上一篇文件Python基于周立功盒子接收特定报文信号并实时绘制折线图(一)的基础上需要做一些优化,原因是,因为取数据和画图都在同一个线程中进行,这有可能导致程序出现问题,所以想到了使用消费者和开发者模型来优化一下代码

二、实现难点

  • 由于我们调用周立功盒子使用的是ZLG给的DLL库,生产的数据便是我们接受的CAN通道里面获取的数据,必然要掉用DLL库,但是生产者的线程中,无法直接将第三方库的句柄当做参数传进去使用;;
  • 我们想要在消费者模型中使用matplotlib进行画图,以便于能将接受数据和画图分开进行,但是却发现matplotlib的刷新和展示无法在子线程中调用

三、给出解决方案

  • 针对生产者模型中无法使用第三方库,那我就直接把主进程的主线程作为生产者模型的线程,换句话说,我不用单独实现创建一个线程供生产者使用,就在主线程中进行数据的接受并插入列表中,这样就解决了线程中不能直接使用第三方库的问题;
  • 针对消费者模型中无法直接使用matplotlib的刷新和展示,我便不在消费者线程中展示刷新,因为刷新前是需要数据的,需要pl

你可能感兴趣的:(基于周立功的使用和二次开发,python,matplotlib,周立功二次开发)