springboot调用python脚本_springbootapi文档处理和在p中对文档执行python脚本

两个队列的添加和删除方法必须同步。一瞬间只有一个线程可以访问它方法。如果一个线程正在访问关键区域(生产者或消费者),其余线程将等待轮到它们。在

第一个生产者将开始工作,最初,消费者处于睡眠阶段。

为什么?同步运行整个系统。

你将如何得到它?睡眠生产者线程处理后,如果消费者睡眠在工作开始。

第一个生产者或消费者将获得队列中的锁,处理工作并释放它。在此期间,如果任何线程(生产者或消费者)来获取数据,它们将等待轮到它们(使用线程池的概念)。

一旦在共享驱动器上(通过任何进程)复制了任何文档,目录监视程序(Producer)代码就会获取该文档的路径并同步存储在executionQueue中。

现在消费者将来取数据,FirstThread首先唤醒并从executionQueue获取数据。FirstThread将获取锁定执行队列,然后获取数据并释放其中的锁。如果第二个线程在中间来取数据,它将等待轮到他。

从executionQueue获取数据后,FirstThread将从位置获取文档,并使用获取的文档调用Python脚本。

在中间,SecondThread将获取锁并获取路径,并开始处理与FirstThread相同的概念。

几秒钟后,FirstThread将完成他的工作,然后它将进入executionQueue,再次获取锁并获取文件路径并释放锁,并开始处理相同的工作,对SecondThread也同样如此。。。

在处理该文件的过程中,如果发生任何错误,则将该路径信息发送到errorQueue方法,并在日结束时或系统空闲时使用相同的概念或手动分析errorQueue信息。

如果executionQueue中没有可用的数据,那么此时生产者线程(目录观察程序)已经处于休眠阶段。然后消费者线程会来到executionQueue来获取数据,他们不会得到任何数据,然后进入休眠阶段,比如1分钟,1分钟后它会再次唤醒并去获取数据等等。。。

在每个步骤日志中,这些信息将帮助您更好地进行分析。

利用这个概念,你可以并行运行整个系统。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值