C# 多个线程一直跑着While(true)

      在使用多线程的时候,开了多个线程一直在While(true),会造成CPU占用很高。这时候要在线程内加入一句Thread.Sleep(1),让他稍微睡一下。就不会消耗那么多CPU了。

       代码:

 1  Thread dataThread = new Thread(delegate()
 2            {
 3                while (threadFlag)
 4                {
 5                    if (Port != null && Port.IsOpen)
 6                    {
 7                        length = Port.BytesToRead;
 8                        if (length > 0)
 9                        {
10 
11                            bytes = new byte[length];
12                            Port.Read(bytes, 0, length);
13                           
14                            tcp.SendData(bytes);
15                           
16                            if (textBox.InvokeRequired)
17                            {
18 
19                                textBox.Invoke(new Action<string>(s =>
20                                {
21                                    textBox.AppendText(s + Environment.NewLine);
22                                    textBox.SelectionStart = textBox.TextLength;
23                                    textBox.ScrollToCaret();
24 
25                                }), System.Text.Encoding.ASCII.GetString(bytes));
26 
27                            }
28                            else
29                            {
30                                textBox.AppendText(System.Text.Encoding.ASCII.GetString(bytes) + Environment.NewLine);
31                                textBox.SelectionStart = textBox.TextLength;
32                                textBox.ScrollToCaret();
33 
34                            }
35                        }
36 
37                    }
38                    Thread.Sleep(1);
39                }
40 
41            });
42            dataThread.IsBackground = true;
43            dataThread.Name = PortName;
44            dataThread.Start();
45        }
46 
47    }

 

转载于:https://www.cnblogs.com/zhaoyihao/p/4533195.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460146.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RPG的错排

RPG的错排 Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 25 Accepted Submission(s) : 14 Problem Description今年暑假杭电ACM集训队第一次组成女生队,其中有一队叫RPG,但做为集训队成员之一的野骆驼竟然不知道…

轮廓平滑方法

目录 1. 形态学操作 2. 边缘平滑化 3. 轮廓近似 python 有回归线平滑 2D 轮廓 1. 形态学操作 利用形态学操作&#xff08;例如腐蚀、膨胀、开运算、闭运算等&#xff09;可以使分割边界更加平滑和连续。腐蚀可以消除小的不连续区域&#xff0c;膨胀可以填充空洞&#xff0…

.NET条形码

建议不要用CODE-39码&#xff0c;改用CODE-128码&#xff1b; CODE-39码密度比较低&#xff0c;条码数字内容太多&#xff0c;导致条码太长&#xff0c;缩短长度就只能减小X尺寸&#xff0c;造成识读困难&#xff1b; CODE-128码密度高&#xff0c;相同的数字生成条码更短。 你…

python解约瑟夫环问题

故事&#xff1a; 约瑟夫问题&#xff08;Josephus Problem&#xff09;据说著名犹太历史学家 Josephus有过以下的故事&#xff1a;在罗马人占领乔塔帕特后&#xff0c;39 个犹太人与Josephus及他的朋友躲到一个洞中&#xff0c;39个犹太人决定宁愿死也不要被敌人到&#xff0c…

php_flag .htaccess,Apache服务器中.htaccess文件的实用配置示例集锦

.htaccess 是什么&#xff1f;htaccess (hypertext access&#xff0c;超文本访问) 是为网站所有者提供用于控制服务器环境变量以及其它参数的选项&#xff0c;从而增强他们网站的功能的文件。这些文件可以在网站目录树的任何一个目录中&#xff0c;并向该目录以及目录中的文件…

读取properties

为什么80%的码农都做不了架构师&#xff1f;>>> //db 是文件名为db.properties private static final ResourceBundle bundle ResourceBundle.getBundle("db");public static String getProperties(String key){return bundle.getString(key);} 转载于:…

php copy array,ES6中Array.copyWithin()函数用法的详解

ES6为Array增加了copyWithin函数&#xff0c;用于操作当前数组自身&#xff0c;用来把某些个位置的元素复制并覆盖到其他位置上去。下面重点给大家介绍ES6中Array.copyWithin()函数的用法&#xff0c;需要的朋友参考下ES6为Array增加了copyWithin函数&#xff0c;用于操作当前数…

解读ASP.NET 5 MVC6系列(14):View Component

原文:解读ASP.NET 5 & MVC6系列&#xff08;14&#xff09;&#xff1a;View Component在之前的MVC中&#xff0c;我们经常需要类似一种小部件的功能&#xff0c;通常我们都是使用Partial View来实现&#xff0c;因为MVC中没有类似Web Forms中的WebControl的功能。但在MVC6…

mysql+根密码是什么意思,重设MySQL根密码

我已经继承了安装了mysql的服务器。我没有任何用户的mysql密码&#xff0c;甚至不是root(虽然我有linux root密码)。另外&#xff0c;我只知道另外一个用户帐号包含root&#xff0c;而且没有权限执行任何动作&#xff0c;甚至没有SELECT。我尝试停止mysql servicw&#xff0c;重…

Android深入浅出之Binder机制(转)

Android深入浅出之Binder机制 一 说明 Android系统最常见也是初学者最难搞明白的就是Binder了&#xff0c;很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Binder的话&#xff0c;在很大程度上就能理解程序运行的流程。 我们这里将以MediaService的例子来…

Java 8新特性(二)

2019独角兽企业重金招聘Python工程师标准>>> 集合类的批处理&#xff1a; Java8除了Lambda表达式外还提供了另一个重要的特性&#xff0c;即集合的批处理操作&#xff0c;集合类的批处理操作API的目的是实现集合类的“内部迭代”&#xff0c;并期望充分利用现代多核…

matlab功能块,Matlab GUI重用功能块

我在GUIDE中创建了一个带有两个可编辑文本框和四个静态文本框的Matlab GUI用户在两个可编辑的文本框(e1和e2)中输入值,并根据这些值计算应在静态文本框(s1,s2,s3和s4)中显示的值.它在e1和e2的每个值变化上执行此操作e1更改值时计算值的代码如下所示.% --- Executes on key pres…

Android--pendingIntent Intent

PendingIntent pendingIntent字面意义&#xff1a;等待的&#xff0c;未决定的Intent。要得到一个pendingIntent对象&#xff0c;使用方法类的静态方法 getActivity(Context, int, Intent, int),getBroadcast(Context, int, Intent, int), getService(Context, int, Intent, in…

Python 支付宝支付代码

2019独角兽企业重金招聘Python工程师标准>>> #!/usr/bin/env python # encoding: utf-8Created on 2011-1-5 author: codebackgmail.comimport hashlib import urllib2verfyURL{"https":"https://www.alipay.com/cooperate/gateway.do?servicenotif…

php基本函数对象,PHP常用函数对象_PHP教程

字符处理函数SQL语句保留字符转义long get_magic_quotes_gpc(void)string addslashes ( string str )string stripslashes(string str)字符的ASCII码int ord(string string) 十进制string chr(ascii) 十进制 八进制(0) 十六进制(0x)string base_convert(string $number,int $fr…

Linux驱动开发必看详解神秘内核(完全转载)

Linux驱动开发必看详解神秘内核完全转载-链接&#xff1a;http://blog.chinaunix.net/uid-21356596-id-1827434.htmlIT168 技术文档】在开始步入Linux设备驱动程序的神秘世界之前&#xff0c;让我们从驱动程序开发人员的角度看几个内核构成要素&#xff0c;熟悉一些基本的内核概…

map用法

转自&#xff1a;http://blog.163.com/xx_jun_/blog/static/208275209201262693422730/ ———————————————————————————————————————————————————————— Map简介 将键映射到值的对象。一个映射不能包含重复的键&#xff…

matlab计算位温,大气物理学复习资料

大气物理学复习资料第一部分名词解释第一章大气概述1、干洁大气&#xff1a;通常把除水汽以外的纯净大气称为干结大气&#xff0c;也称干空气。2、气溶胶&#xff1a;大气中悬浮着的各种固体和液体粒子。3、气团&#xff1a;水平方向上物理属性比较均匀的巨大空气块。4、气团变…

2015第23周五

如何提升你的能力&#xff1f;给年轻程序员的几条建议文中提到的几个建议不错&#xff1a; 1、打造你的工具箱 工欲善其事&#xff0c;必先利其器。每个开发者都应该有一把自己的瑞士军刀&#xff0c;在将来漫长的职业生涯中&#xff0c;这些工具可以为你省下宝贵的时间&#x…

Docker搭建便捷的开发者环境

你可能遇到这样的场景&#xff1a;开发软件时&#xff0c;需要像数据库(mysql,mongodb)、消息系统(rabbitmq)、缓存服务&#xff08;redis&#xff09;等其它依赖服务。当然我们可以找台机器&#xff0c;一步步安装依赖&#xff0c;然后把所有依赖的服务都安装好&#xff0c;这…