VisualFreeBasic第三方代码库_多线程之生产消费模型

2026-1-21 / 0 评论 / 64 阅读

多线程编程模型:生产者-消费者 模型

这是多线程编程中最经典、最常用的模型之一,
核心价值是解耦生产(数据生成 / 任务创建)和消费(数据处理 / 任务执行)的逻辑,
缓冲两者的速度差异,提升系统吞吐量和稳定性。

使用方法:---------

1:定义全局变量

Dim shared 工作 As 生产消费模型

2:设置工作处理函数

工作.设置任务函数(@任务执行)

3:任务创建

工作.任务创建(100)

4:任务函数

Sub 任务执行(数据 As Any Ptr) '多线程执行中
   Print "任务执行",数据
   Sleep 100
End Sub  

实际使用中,数据是根据自己需要定义一个类

Type 自己的数据类
   aa As Long 
    bb As Long 
End Type 
Dim 工作数据 As 自己的数据类 Ptr = new 自己的数据类 '创建的数据变量
  工作数据->aa=100
  工作.任务创建(工作数据)
Sub 任务执行(数据 As 自己的数据类 Ptr )  '多线程执行中
   Print "任务执行",数据.aa ,数据.bb
   Delete 数据 '用后需要销毁
End Sub   

'注意:假如 工作 变量被销毁,那么多线程完成工作后立即就退出,后续没完成的工作将会丢弃
'' 假如任务创建速度快于任务执行,数据缓存区就满,超过100个后就强制任务创建等待,如果是界面线程就表现软件无响应。

评论一下?

OωO
取消