多线程同步等待 导致主界面UI卡顿,求解~~~

描述如下,有N个用户,我执行如下操作逻辑, FOR第一个循环,开 N个线程执行登陆操作,执行完毕后 (线程同步后),执行拨号操作,由于我使用线程同步,导致主界面UI卡顿,求解,如何破。。。

使用线程同步类 http://www.cnblogs.com/charley_yang/archive/2010/11/13/1876626.html

自己的逻辑如下

using (var countdown = new MutipleThreadResetEvent(iNum))

{

for (int j = i; j

{

ThreadPool.UnsafeQueueUserWorkItem(new WaitCallback((object s) =>

{

//登陆操作

GetLoginAndHTMLMethod();

}), null);

}

//等待所有线程执行完毕  ,由于这里执行线程同步,导致主界面卡顿,求解

countdown.WaitAll();

}

//拨号操作

strIP = CheckToChangeIP(i);

------解决方案--------------------

这整个事务都应该在子线程中执行。

------解决方案--------------------

把你的这段代码也放在一个独立的线程中,并且主线程不要和它同步。

------解决方案--------------------

主界面卡了是因为你在主线程中运行了处理逻辑

------解决方案--------------------

//拨号操作

strIP = CheckToChangeIP(i);

你连这些也都应该放到线程里去

否则即使前面同步不卡,后面通信也会卡.

------解决方案--------------------

------解决方案--------------------

new System.Threading.Thread(() => {

using (var countdown = new MutipleThreadResetEvent(iNum)) {

for (int j = i; j

ThreadPool.UnsafeQueueUserWorkItem(new WaitCallback((object s) => {

//登陆操作

GetLoginAndHTMLMethod();

}), null);

}

//等待所有线程执行完毕  ,由于这里执行线程同步,导致主界面卡顿,求解

countdown.WaitAll();

}

//拨号操作

strIP = CheckToChangeIP(i);

}).Start();

c# 多线程界面卡顿_多线程同步等候 导致主界面UI卡顿,求解~相关推荐

  1. 拖动卡顿_四招教你解决PS软件卡顿问题!

    你是不是经常会遇到这样的问题?刚装的Ps速度很快,使用一段时间以后发现越来越卡,时不时还会死机崩溃?大多数人遇到这种问题都是选择重装软件,或者重做系统,耗时耗力不说,过不了多久又会出现同样的问题,非常 ...

  2. 卡写入速度_看清商家买相机送SD卡的套路,一文教你掌握存储卡选购秘诀

    学摄影,可能并不比学一门艺术或学科更简单,它可能更难. 我的工作是摄影教学,想在短时间内让学摄影的人顺利毕业,注定需要不厌其烦的整理.疏导琐碎的摄影知识,搭建知识网络,然后研发成课程.最终复盘再优化再 ...

  3. 使用DotNetBar制作漂亮的WinFrom界面,自定义AgileEAS.NET SOA平台WinClient主界面

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  4. webview卡顿_分享三个小技巧,微信卡顿的人千万不要错过哦

    点击蓝字关注我们 哈喽大家好,我是无知便是罪,专注于收集和分享互联网上不为人知的好东西.今天呢小编给大家带来了三个小技巧,一起来看一下. 第一个是通过JS代码,根据网易云音乐的音乐ID,来获取他的真实 ...

  5. 主线程如何等待多线程完成 返回数据_多线程基础体系知识清单

    作者:Object 来源:https://juejin.im/user/5d53e1f6f265da03af19cae0/posts 前言 本文会介绍Java中多线程与并发的基础,适合初学者食用. 线 ...

  6. java多线程的底层实现_多线程的底层实现机制 - 欢迎来到古怪匹诺曹的开发世界 - OSCHINA - 中文开源技术交流社区...

    1.多线程的底层实现 (1)首先回答什么是线程 1个进程要想执行任务,必须得有线程.线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行 (2)什么是多线程 1个进程中可以开启多条线程, ...

  7. c语言多线程访问一个变量_多线程+高并发+操作系统+网络+基础+调优+源码等xmind图整理好了...

    前言 多线程并发问题,基本是面试必问的. 今年刚刚毕业准备找实习的同学或者经历过最近一段时间面试的朋友们,相应你们应该都有一个相同的问题被问到,那就是多线程与高并发 因为最近和腾讯.阿里包括字节和京东 ...

  8. python多线程加速for循环_多线程-如何在Python的循环中对操作进行多线程

    首先,在Python中,如果您的代码受CPU约束,那么多线程将无济于事,因为只有一个线程可以持有全局解释器锁,因此一次只能运行Python代码. 因此,您需要使用进程,而不是线程. 如果您的操作&qu ...

  9. c++ 多线程 类成员函数_多线程(C++/Python)

    多线程(C++/Python) 本文包括一下内容: 通过C++11的标准库进行多线程编程,包括线程的创建/退出,线程管理,线程之间的通信和资源管理,以及最常见的互斥锁,另外对python下多线程的实现 ...

最新文章

  1. Failed to load resource: net::ERR_INSECURE_RESPONSE 问题解决记录
  2. Gartner表示:2017年全球IT支出上升2.7% 中国IT支出达到2.34万亿
  3. Tomcat performance optimization through consolidated log file handlers
  4. vue element 框架 自定义轮播图,点击上下翻图,并让图片居中
  5. java策略设计模式_Java中的策略设计模式
  6. mybatis 二级缓存失效_二级缓存updateBatchById失效
  7. 2019,微软研究项目盘点
  8. 解决方案:布隆过滤器(Bloom Filter)
  9. Spring Cloud整合Nacos实现动态配置
  10. apache make install 问题
  11. 【测试】使用Fiddler4实现手机抓包
  12. Linux源码安装Mysql5.7
  13. html实现圆形图片
  14. mian函数传入参数
  15. 如何使用 iOS 7 的 AVSpeechSynthesizer 制作有声书(1)
  16. Java实现 蓝桥杯VIP 算法提高 彩票
  17. Sharepoint 列表关联Title字段设置
  18. <Linux开发> ubuntu开发工具-Ubuntu测试网速及实时网速图
  19. java ftp 上传下载
  20. 计算机的教学日志怎么做,教学日志

热门文章

  1. 离散方程式matlab,matlab离散型数据拟合方程,求系数,哪个大神能说说方法
  2. python office转pdf_python 如何将office文件转换为PDF
  3. linux 重启oracle_学习Linux前需要知道的事
  4. spring 事务的实现方式和原理_spring整合atomikos实现分布式事务
  5. 检查gzip是否起效
  6. oracle 替换全部空格
  7. Android开发笔记(五十五)手机设备基本操作
  8. 服务器系统盘单独硬盘,我的服务器今天加了个硬盘,可以实现双系统吗?
  9. 第一个SSCLI范例:echo的调试问题
  10. Linux环境下查看网络性能的基本命令