当前位置: 首页 > news >正文

sns网站开发百度广告投放价格

sns网站开发,百度广告投放价格,网页设计图片滚动代码怎么弄,做网站的平台有哪些问题代码&#xff1a; //以下为现有代码的大概描述&#xff0c;只可意会&#xff0c;不可执行&#xff01;&#xff01;&#xff01;Queue<Move> mQueue new Queue<Move>(); //该接口为下面描述线程A、线程B调用的接口 private void ActionTrigger(Move move)//M…

问题代码:

//以下为现有代码的大概描述,只可意会,不可执行!!!Queue<Move> mQueue = new Queue<Move>();
//该接口为下面描述线程A、线程B调用的接口
private void ActionTrigger(Move move)//Move表示一个类,由外部传入
{lock(mlock){    this.DoMove1(move);//将move压入队列ThreadPool.QueueUserWorkItem(new WaitCallback(this.DoMove2());//启用多线程将move弹出,并执行相关动作。}
}private void DoMove1(Move move)
{lock(mlockEn){mQueue.Enqueue(move);}
}private void DoMove2(object obj)
{lock(mlockDe){while(mQueue.Count>0){Move mtmp = mQueue.Dequeue();//通过打印mtmp地址、mtmp中变量指向的地址发现,出现问题时,连续添加的Move均被最后一个元素覆盖。//根据mtmp执行相关耗时动作}}
}

问题背景:

1.一个线程A不间断向Queue压入元素,压入元素后,会启动多线程进行元素弹出,执行相关耗时动作。

2.启动另外一个线程B连续向Queue压入元素。

问题现象:

线程B连续压入的元素,弹出的元素值均为最后一次压入的元素值。

问题原因:

网上查找问题原因

1)C#中的Queue类是一个先进先出(FIFO)的数据结构,它使用一个数组来存储队列中的元素。当你向一个空的Queue中添加元素时,它会直接存储在数组的第一个位置上。

当你弹出一个元素后,Queue会将数组中的元素向前移动一个位置,填补被弹出的元素位置。这样,新添加的元素会被放置在队列的末尾。

所以,如果你在没有弹出队列中的所有元素之前再次添加一个元素,那么这个新添加的元素会被放置在队列的末尾。当你继续弹出元素时,它们将按照添加的顺序依次被弹出,而最后一个添加的元素将成为队列中的第一个元素,并且覆盖之前添加的元素。

如果你希望保留之前添加的元素并且不被覆盖,你可以在添加新元素之前先将队列中的所有元素弹出,然后再将它们添加回队列中。或者你可以考虑使用其他数据结构,比如List,根据需要进行操作。

2)网上查找给出一定思路,本身Queue不是线程安全的,那么采用线程安全的队列ConcurrentQueue(),但问题依然存在。

3)继续以ConcurrentQueue进行排查:

C#的ConcurrentQueue是一种线程安全的队列,可以在多线程环境下进行并发操作。当一个线程在另一个线程执行弹出操作期间连续添加元素时,导致新添加的元素覆盖之前已经弹出的值的原因可能是由于在弹出操作期间,另一个线程执行了入队操作,导致队列被修改。

由于ConcurrentQueue是线程安全的,它内部使用了一些同步机制来确保多个线程可以安全地对队列进行操作。但是,即使使用了同步机制,当一个线程在另一个线程执行弹出操作期间连续添加元素时,也可能会发生竞争条件。这种竞争条件会导致新添加的元素覆盖之前已经弹出的值

为了解决这个问题,你可以在添加元素之前先判断队列是否为空,或者使用锁来保护对队列的并发操作。另外,你还可以考虑使用其他数据结构或者调整程序逻辑来避免这种情况的发生。

问题确认:

1)在压入队列前、弹出队列后,均进行变量指向地址的打印,发现地址相同,可以明确,数据被覆盖。

问题解决:

1)采用Lock锁,确保线程B同次的压入和弹出在一次执行完成。即重写ActionTrigger()方法用于线程B的调用,并且删除ThreadPool多线程处理。

http://www.hkea.cn/news/781669/

相关文章:

  • 如何自行建设网站推广关键词优化
  • 建设学院网站百度收录关键词查询
  • 有关外贸的网站有哪些内容武汉抖音seo搜索
  • 娄底网站建设的话术深圳网站关键词排名优化
  • 福田大型商城网站建设seo营销方法
  • 网站开发专业就业指导企业网站设计与实现论文
  • 网络营销方式的思维导图seo关键词优化系统
  • wordpress访客ip记录福清市百度seo
  • 网站下载速度慢互联网广告推广公司
  • 电影网站空间配置网络营销的工具和方法有哪些
  • 包装设计网站免费百度seo搜索引擎优化厂家
  • 免费做公司网站sem对seo的影响有哪些
  • 网站空间购买费用关键词优化计划
  • 网站制作可以卖多少钱陕西网站建设制作
  • 深圳中小企业网站制作谷歌海外广告投放
  • 做游戏网站的需求分析创建app平台
  • 青岛胶南做网站的有多少seo商学院
  • 二月网站建设南宁百度个人中心登录
  • 如何在相关网站免费做宣传广告免费建立个人网站官网
  • 做搜狗网站优化首自己建立网站步骤
  • 企业资质查询官方网站最好的小说网站排名
  • 乐平网站设计北京互联网公司
  • 朝阳企业网站建设方案费用郑州网络营销学校
  • 建站行业发展百度广告代运营
  • 如何做积分商城网站鸡西seo顾问
  • p2p网站开发文档免费b站软件下载
  • 有没有做q版头像的网站今天百度数据
  • wordpress页面修改插件seo顾问阿亮
  • 政府门户网站建设标准国际婚恋网站排名
  • 上海青浦网站建设郑州靠谱seo电话