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

移动端网站是什么白云区建网站公司

移动端网站是什么,白云区建网站公司,如何建设英文网站,seo与网络推广的区别和联系文章目录 1 使用线程意义2 C#线程开启的四种方式2.1 异步委托开启线程2.2 通过Thread类开启线程2.3 通过线程池开启线程2.4 通过任务Task开启线程 3 前台线程和后台线程简述3.1 前台线程3.2 后台线程 4 简述Thread和Task开启线程的区别4.1 Thread效果展示4.2 Task效果展示4.3 区… 文章目录 1 使用线程意义2 C#线程开启的四种方式2.1 异步委托开启线程2.2 通过Thread类开启线程2.3 通过线程池开启线程2.4 通过任务Task开启线程 3 前台线程和后台线程简述3.1 前台线程3.2 后台线程 4 简述Thread和Task开启线程的区别4.1 Thread效果展示4.2 Task效果展示4.3 区别说明 1 使用线程意义 在软件开发的过程中会很频繁的用到线程(Thread)在线程使用的过程中总是能出现“这样”或者“那样”的问题。线程被定义为程序的执行路径。每个线程都定义了一个独特的控制流。如果应用程序涉及到复杂的和耗时的操作设置不同的线程执行路径往往是有益的让每个线程执行特定的工作。使用线程不仅能节省 CPU 周期的浪费同时也会提高应用程序的效率。 **话不多说开始 上 干 货 **2 C#线程开启的四种方式 2.1 异步委托开启线程 //线程池可以看做容纳线程的容器一个应用程序最多只能有一个线程池ThreadPool静态类通过QueueUserWorkItem()方法将工作函数排入线程池 每排入一个工作函数就相当于请求创建一个线程 //线程池的作用 //1、线程池是为突然大量爆发的线程设计的通过有限的几个固定线程为大量的操作服务减少了创建和销毁线程所需的时间从而提高效率。 //2、如果一个线程的时间非常长就没必要用线程池了(不是不能作长时间操作而是不宜。)况且我们还不能控制线程池中线程的开始、挂起、和中止 public static void Thread_3(string[] args) {ThreadPool.QueueUserWorkItem(new WaitCallback(TestThreadPool), new string[] { hjh });Console.ReadKey(); } public static void TestThreadPool(object state) {string[] arry state as string[];//传过来的参数值int workerThreads 0;int CompletionPortThreads 0;ThreadPool.GetMaxThreads(out workerThreads, out CompletionPortThreads);Console.WriteLine(DateTime.Now.ToString() --- arry[0] --workerThreads workerThreads --CompletionPortThreads CompletionPortThreads); }2.2 通过Thread类开启线程 private void Thread_2() {Thread t1 new Thread(SetInfo1);t1.Start(); }private void SetInfo1() {Console.WriteLine(奇数为 i); }2.3 通过线程池开启线程 #region 3.通过线程池开启线程 //线程池可以看做容纳线程的容器一个应用程序最多只能有一个线程池ThreadPool静态类通过QueueUserWorkItem()方法将工作函数排入线程池 每排入一个工作函数就相当于请求创建一个线程 //线程池的作用 //1、线程池是为突然大量爆发的线程设计的通过有限的几个固定线程为大量的操作服务减少了创建和销毁线程所需的时间从而提高效率。 //2、如果一个线程的时间非常长就没必要用线程池了(不是不能作长时间操作而是不宜。)况且我们还不能控制线程池中线程的开始、挂起、和中止 public static void Thread_3(string[] args) {ThreadPool.QueueUserWorkItem(new WaitCallback(TestThreadPool), new string[] { hjh });Console.ReadKey(); } public static void TestThreadPool(object state) {string[] arry state as string[];//传过来的参数值int workerThreads 0;int CompletionPortThreads 0;ThreadPool.GetMaxThreads(out workerThreads, out CompletionPortThreads);Console.WriteLine(DateTime.Now.ToString() --- arry[0] --workerThreads workerThreads --CompletionPortThreads CompletionPortThreads); }2.4 通过任务Task开启线程 public static void Thread_4(string[] args) {Task task new Task(DownLoadFile_My);task.Start();Console.ReadKey(); } static void DownLoadFile_My() {Console.WriteLine(开始下载...线程ID: Thread.CurrentThread.ManagedThreadId);Thread.Sleep(500);//模拟耗时的操作Console.WriteLine(下载完成!); }3 前台线程和后台线程简述 我们关闭一个应用程序但是进程在资源管理器中依然存在就是由于存在前台线程未关闭导致的。可以设置前台线程修改为后台线程设置Thread.IsBackground 属性。 不管是前台线程还是后台线程如果线程内出现了异常都会导致进程的终止。 应用程序必须运行完所有的前台线程才可以退出而对于后台线程应用程序则可以不考虑其是否已经运行完毕而直接退出所有的后台线程在应用程序退出时都会自动结束。 3.1 前台线程 应用程序必须在所有前台线程处理完毕后方可退出前台线程一般处理等待时间较长的任务应用程序的主线程以及使用Thread开启的线程都默认为前台线程。 3.2 后台线程 应用程序退出时不用考虑后台线程是否已经运行完毕直接退出进程一般用后台线程去处理等待时间较短的任务通过异步委托、线程池ThreadPool.QueueUserWorkItem()和Task开启的线程都默认为后台线程 4 简述Thread和Task开启线程的区别 4.1 Thread效果展示 StringBuilder text new StringBuilder();new Thread(() {for (int i 0; i 5; i){new Thread(() {var threadId Thread.CurrentThread.ManagedThreadId;text.AppendLine(threadId.ToString());}).Start();Thread.Sleep(1000);}MessageBox.Show(text.ToString(),打印线程ID);}).Start();4.2 Task效果展示 StringBuilder text new StringBuilder();new Task(() {for (int i 0; i 5; i){new Task(() {var threadId Thread.CurrentThread.ManagedThreadId;text.AppendLine(threadId.ToString());}).Start();Thread.Sleep(1000);}MessageBox.Show(text.ToString(),打印线程ID); }).Start(); 4.3 区别说明 从3.1和3.2中我们看到这两种方式开启线程后线程的ID是有明显的不同的。 其实Task 是基于 Thread 的是比较高层级的封装Task 最终还是需要 Thread 来执行使用Thread 开启的线程默认使用前台线程而Task 默认使用后台线程。
http://www.hkea.cn/news/14348552/

相关文章:

  • 酒店网站免费建设成都关键词优化技术
  • 上海移动云网站建设成都哪些公司做网站好
  • 网站建设制作的规划方案饰品企业网站建设
  • 手机软件制作和做网站相同做同城信息类网站如何赚钱
  • 设置网站默认首页企业网站建设服务
  • 网站做竞价经常会被攻击吗渭南哪家公司可以做网站
  • 网站改版需求分析文件怎么做网页
  • wordpress地址和站点地址区别游戏网站上做银商为网站人员
  • 创业谷网站建设方案网站建设评分标准
  • 佛山建设网站用php开发网站教程
  • 怎么做钓鱼网站生成wordpress 分页 美化
  • 手机建网站制作wordpress插件写在模板里
  • 关于做无机化学实验的网站网站建设服务费属于
  • 中国购物网站大全排名网站建设培训公司哪家好
  • 个人网站制作与设计论文重庆做兼职哪个网站
  • 农业网站建设方案 ppt模板南京关键词优化软件
  • 网站源码建设模板wordpress 搜索 高亮
  • 各大网站搜索引擎提交入口用阿里云服务器做自己购物网站
  • 数商云公司番禺seo
  • 高明网站设计哪家服务好wordpress一直刷不出来
  • 做淘客网站用什么程序深圳注册公司地址怎么解决
  • 山西住房和城乡建设部网站wordpress 添加关键词
  • 软件下载网站如何履行安全管理网站建设账务处理
  • 网站开发费 无形资产网页设计与网站建设景点介绍
  • 做gif的网站秦皇岛建设工程交易网
  • 推广优化公司网站信阳公司做网站
  • 天津建设教育培训中心网站谷歌镜像网站怎么做
  • 微商软件商城总站本科自考什么机构比较正规
  • 青海省wap网站建设公司北京做家政网站有哪些平台
  • 广州网站推广方案互联网营销的方法