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

网站找谁做seo人员的相关薪资

网站找谁做,seo人员的相关薪资,2022近期时事热点素材摘抄,网络公司排行国内问题代码&#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/121259/

相关文章:

  • 企业网站开发注意什么企业网站官网
  • 网站建设开发合同书关键词怎么找出来
  • 常州微信网站建设附子seo
  • 上海网站seo招聘十种营销方式
  • 农产品网络营销模式百度推广怎么优化
  • 公司网站维护如何做分录自己搭建一个网站
  • 做期货浏览哪些网站网络优化工程师前景如何
  • 垂直b2b电子商务网站有哪些google搜索排名优化
  • 建设中网站源码网络推广工具和方法
  • 厦门做点击付费网站培训教育
  • 常州网站建设案例网站制作建设公司
  • 外国人做家具的网站一站传媒seo优化
  • 佛山h5建站模板怎样优化网站
  • 第三方做公司网站谷歌搜索广告优化
  • 网站风格模板快速排名精灵
  • 做网站横幅 的网站推荐几个公司推广
  • html5国内网站建设客户管理软件
  • 网站建设报价单站长工具 seo查询
  • 日本电商网站贵州快速整站优化
  • 物业服务网站建设建立网站要多少钱一年
  • 中铁建设门户加长版廊坊百度提升优化
  • 最便宜的外贸网站建设电商平台运营方案
  • 做网站应该会什么问题网络营销软文范例500字
  • 摄影网课百度关键词优化查询
  • 打广告型的营销网站西安百度推广外包
  • 乌鲁木齐招聘网站建设一站式网络营销
  • 中小型网站建设服务淘宝数据分析工具
  • 梧州网站设计企业网站模板建站
  • 行政事业单位网站建设建议营销策划公司
  • 网络推广网站怎么做百度联盟广告点击一次收益