易语言怎么取重复文本

易语言怎么取重复文本,第1张

实现一个队列CQueue

CQueue提供两个公有成员函数

addTail():往队列尾部增加一个元素

removeHead():读出并移除队列的第一个元素

生产者:两个线程通过调用CQueue::addTail()往队列中增加元素

消费者:一个线程通过调用CQueue::removeHead()从队列中读取元素

#include <iostream>

#include <list>

#include <windows.h>

#include <process.h>

using namespace std

#define P(sem) WaitForSingleObject(sem,INFINITE)

#define V(sem) ReleaseSemaphore(sem,1,NULL)

class CQueue

{

public:

    void addTail()//往队列尾部增加一个元素

    void removeHead()//读出并移除队列的第一个元素

private:

    list<int> L

}

CQueue buffer//全局的缓冲区

const int buf_size = 10//缓冲区大小

static int GOODS_ID = 0//商品序号

const int producers = 3//生产者数量

const int consumers = 8//消费者数量

void ProducerThread(void* param)

void ConsumerThread(void* param)

HANDLE empty,occupy,op_mutex

int main()

{

    int i

    int p_id[producers],c_id[consumers]

    occupy = CreateSemaphore(NULL,0,buf_size,NULL)//占用位置

    empty = CreateSemaphore(NULL,buf_size,buf_size,NULL)//空余位置

    op_mutex = CreateSemaphore(NULL,1,1,NULL)//操作互斥量

    for(i=0i<producers++i)

    {

        p_id[i] = i+1

        _beginthread(ProducerThread,0,p_id+i)

    }

    for(i=0i<consumers++i)

    {

        c_id[i] = i+1

        _beginthread(ConsumerThread,0,c_id+i)

    }

    while(getchar()=='\n') break

    return 0

}

void CQueue::addTail()

{

    L.insert(L.end(),++GOODS_ID)

}

void CQueue::removeHead()

{

    cout<<*L.begin()<<endl

    L.erase(L.begin())

}

void ProducerThread(void* param)

{

    int id = *(int*)param

    while(1)

    {

        P(empty)

        P(op_mutex)

        Sleep(100)

        buffer.addTail()

        printf("Producer_%d produced %d\n",id,GOODS_ID)

        V(op_mutex)

        V(occupy)

    }

}

void ConsumerThread(void* param)

{

    int id = *(int*)param

    while(1)

    {

        P(occupy)

        P(op_mutex)

        Sleep(100)

        printf("Consumer_%d consumed ",id)

        buffer.removeHead()

        V(op_mutex)

        V(empty)

    }

}

sem指的是搜索引擎营销 英文Search Engine Marketing ,我们通常简称为“SEM”。

简单来说,搜索引擎营销就是基于搜索引擎平台的网络营销,利用人们对搜索引擎的依赖和使用习惯,在人们检索信息的时候将信息传递给目标用户。搜索引擎营销的基本思想是让用户发现信息,并通过点击进入网页,进一步了解所需要的信息。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/344001.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存