c++ builder 多线程的创建

本文介绍了如何在C++ Builder中创建多线程,并使用循环队列进行数据处理。通过示例展示了如何使用TThread类创建线程,以及使用互斥量和信号量来实现线程间同步,确保数据安全。
摘要由CSDN通过智能技术生成

1:创建线程类,继承tthread类,

class GeoSortThread : public TThread
{           
private:
        //--------------------------------------------------------------------
        Struct_VocGeoInfo *VGInfo;
        TGeoServer_GeoInfo *GeoInfo;

        //--------------------------------------------------------------------
        //ServerSocket控件
        TServerSocket *ServerSocket;
        //Xml控件
        //TXMLDocument *XMLDocument;
        //http控件
        //THTTPRIO *HTTPRIO;

        //--------------------------------------------------------------------
        //临界区
        //TCriticalSection  *Section;
        //信号量
        HANDLE hMutex;
        //循环队列(包括5项:缓存区,单元指针,生产索引,消费索引,缓存区数量)
        Struct_VocGeoInfo  pg_buff[SIZE_OF_BUFFER];
        //Struct_VocGeoInfo  *pg_buff;
        int in;
        int out;
        int count;

        int processCount;
        int ThreadIndex;
        //--------------------------------------------------------------------
        //临时OVInfo 包括SIZE_OF_TASK条VGInfo
        Struct_VocGeoInfo OVGInfo[SIZE_OF_TASK];
        int OVGInfoCount;

       
        void __fastcall Paint();
protected:
        void __fastcall Execute();
public:
        //--------------------------------------------------------------------
        //生产
        bool IsIdled;

        void __fastcall Put(Struct_VocGeoInfo *VGInfo,int ThreadIndex);
        void __fastcall Release();
        void __fastcall Acquire();
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值