是这样的情况
需要创建 线程,去执行 一个任务列表里面的每一条任务每条任务是 由程序发送数据,到串口,一个机器接收命令,发送一条应答消息(消息表明他所接收的数据是否正确),待机器完成任务,再发送一条数据给程序。再由程序发送一条应答消息给机器。如果操作顺利,这样4个动作,就算一条完整的任务。如果任务列表还有任务,又接着执行 任务,直到没有任务为止。其中,执行任务的过程中,第一次发送的消息,如果在规定时间内,没有收到机器的应答消息,就在规定时间内再次发送消息。不知道这样的情况,需要建立几个线程比较好。第一次接触线程的编写,请大家多多帮助我,谢谢~~
需要创建 线程,去执行 一个任务列表里面的每一条任务每条任务是 由程序发送数据,到串口,一个机器接收命令,发送一条应答消息(消息表明他所接收的数据是否正确),待机器完成任务,再发送一条数据给程序。再由程序发送一条应答消息给机器。如果操作顺利,这样4个动作,就算一条完整的任务。如果任务列表还有任务,又接着执行 任务,直到没有任务为止。其中,执行任务的过程中,第一次发送的消息,如果在规定时间内,没有收到机器的应答消息,就在规定时间内再次发送消息。不知道这样的情况,需要建立几个线程比较好。第一次接触线程的编写,请大家多多帮助我,谢谢~~
解决方案 »
- 请问下TdxDBTreeView的控件包是什么呀?到哪下载呀?谢谢了。随便散分!
- 能否用DBGridEh实现Access中主从表那样的树型结构
- 运行Fastreport 3.0 时。。报表在showreport 出现 cannot use the same dataset for report.dataset and Band.DataSet
- 100分寻求答案!把指定的目录下文件打包成执行文件,点击后,自动运行默认的文件,怎么处理?谢谢!!!急!!!!!
- 变量域问题,急
- 能不能实现这样:点一个按钮,搜索整个硬盘或某个驱动器的.doc(或别的)文件
- 怎样使程序适应大字体的系统环境?
- 请教一个PHP的思路问题
- 如何算出五个点的重心
- 是关于存储的问题,看了就会骂我苯的!(Come)
- 多个Panel同步滚动
- 如果定义一个二进制的文件头
”一个任务列表里面的每一条任务 “,
你可以将Thread Pool的信息,放到配置文件中,
如最大Worker Thread数,Pool轮询的事件间隔等。处理方式:App的主线程启动后,可以遍历任务列表,每次从列表中拿到一个任务,则从线程池中请求一个新的线程,
用以处理此任务。如何请求Worker线程,这就是一个Pool轮询的应用。关键问题是,你的操作目的地是一个串口,它是线性处理,以及低速的。
用不用多线程,性能区别不大。