Clinet/Server在工作线程中刷新页面数据的方法
Worker线程不能修改UI线程的状态(比如文本框里面的内容)。
解决的办法是写一个用来更新文本框内容的函数,然后在Worker线程里面通过BeginInvoke来利用delegate调用这个函数更新文本框。
具体代码如下:
void ThreadEntry()
{
int i = ;
string name = Thread.CurrentThread.Name;
while (i > )
{
Thread.Sleep();
dsync.WaitOne(); //WaitOne方法是阻塞方法,如果
string msg = string.Format("The current index is {0}", i); this.BeginInvoke(new ShowDelegate(ShowMsgBox), msg);
i++;
}
}
调用方法:
private void OK_Click(object sender, EventArgs e)
{
Thread worker = new Thread(ThreadEntry); worker.Start();
} 更新方法:
private void ShowMsgBox(string tmp)
{
logOutput.Text += tmp + "\r\n";
}
BTW,如果需要控制工作线程的执行,阻塞和继续执行,可以使用System.Threading.ManualResetEvent类的 WaitOne()、Set()、Reset()方法。
Clinet/Server在工作线程中刷新页面数据的方法的更多相关文章
- 子线程中刷新了UI
This application is modifying the autolayout engine from a background thread, which can lead to engi ...
- 【整理】iview中刷新页面的时候更新导航菜单的active-name
iview中刷新页面的时候更新导航菜单的active-name https://blog.csdn.net/lhjuejiang/article/details/83212070
- javascript(js)自动刷新页面的实现方法总结
自动刷新页面的实现方法总结: 1) <meta http-equiv="refresh"content="10;url=跳转的页面"> 10表示间隔 ...
- Angular.js中处理页面闪烁的方法详解
Angular.js中处理页面闪烁的方法详解 前言 大家在使用{{}}绑定数据的时候,页面加载会出现满屏尽是{{xxx}}的情况.数据还没响应,但页面已经渲染了.这是因为浏览器和angularjs渲染 ...
- ASP.NET刷新页面的六种方法
第一: private void Button1_Click( object sender, System.EventArgs e ) { Response.Redirect( Requ ...
- 线程中sleep()方法和wait()方法的前生今世
先看再点赞,给自己一点思考的时间,如果对自己有帮助,微信搜索[程序职场]关注这个执着的职场程序员.我有什么:职场规划指导,技能提升方法,讲不完的职场故事,个人成长经验. 不知道大家有没有这种感觉,在公 ...
- 清空SQL Server数据库中所有表数据的方法(转)
清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入 ...
- 清空SQL Server数据库中所有表数据的方法
原文:清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可 ...
- 线程中sleep方法和wait方法有什么区别?(转)
本文转自https://www.cnblogs.com/linkstar/p/6043846.html 线程中sleep方法和wait方法有什么区别? 如果你没有接触过java的多线程,那么多对于 ...
随机推荐
- 关于jfinal发送邮件走过的坑
最近接到一个写发送邮件的功能开发,使用的是jfinal框架.原本打算使用javamail一步步来的,后来看到jfinal有自带的发邮件的插件(jfinal-mail-plugin),只需两三行代码便可 ...
- 关于单元测试时加载spring-context.xml文件的问题
在进行web开发的时候,通常我们都会使用Spring框架,使用spring容器管理java bean. 而spring的配置文件有时候放在classpath下面,有时候放在WEB-INF下面. 一般在 ...
- python之路:数据类型初识
python开发之路:数据类型初识 数据类型非常重要.不过我这么说吧,他不重要我还讲个屁? 好,既然有人对数据类型不了解,我就讲一讲吧.反正这东西不需要什么python代码. 数据类型我讲的很死板.. ...
- Visual Studio 2017 密匙
趁着这两天微软发布了Visual Studio 2017,安装体验了这个史上最强IDE最新版,分享一下自己的安装过程: VS2017下载地址,该版本堪称史上最大IDE,随便勾了几个选项,就要占用几十个 ...
- 创建第一个vue实例
一.vue安装与下载 1. 官网下载 下载地址 选择开发版本 2. 打开sublime,新建vue文件夹,将下载好的代码vue.js放入vue文件夹中. 3. 新建index.html文件,在hea ...
- Post返回json中文乱码
来源:http://blog.csdn.net/xiaoxuonl/article/details/54315612 服务器返回的是utf-8,jsp页面上也是utf-8,数据库也是utf-8怎么就是 ...
- 模型压缩,模型减枝,tf.nn.zero_fraction,统计0的比例,等。
我们刚接到一个项目时,一开始并不是如何设计模型,而是去先跑一个现有的模型,看在项目需求在现有模型下面效果怎么样.当现有模型效果不错需要深入挖掘时,仅仅时跑现有模型是不够的,比如,如果你要在嵌入式里面去 ...
- 一千行ABAP代码实现Windows传统游戏扫雷
*&---------------------------------------------------------------------* *& Report ZCHENH087 ...
- EOS源码
[EOS源码] 1.在 libraries/chain/include/eosio/chain/ 目录下. permission_level 定义如下: account_name.permissi ...
- Python数据分析学习(一):Numpy与纯Python计算向量加法速度比较
import sys from datetime import datetime import numpy as np def numpysum(n): a = np.arange(n) ** 2 b ...