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

深圳网站建设知名 乐云践新网页制作一年价格

深圳网站建设知名 乐云践新,网页制作一年价格,免费域名网站推荐,性是怎么做视频网站在 C# 中,Thread.Join 是一个非常有用的方法,它可以让主线程(调用线程)等待子线程(被调用线程)执行完毕后再继续执行。 1、经典示例1 using System; using System.Threading;public class Example {stati…

在 C# 中,Thread.Join 是一个非常有用的方法,它可以让主线程(调用线程)等待子线程(被调用线程)执行完毕后再继续执行。

1、经典示例1

using System;
using System.Threading;public class Example
{static Thread thread1, thread2;public static void Main(){thread1 = new Thread(ThreadProc);thread1.Name = "Thread1";thread1.Start();thread2 = new Thread(ThreadProc);thread2.Name = "Thread2";thread2.Start();Console.ReadKey();}private static void ThreadProc(){Console.WriteLine("\nCurrent thread: {0}", Thread.CurrentThread.Name);if (Thread.CurrentThread.Name == "Thread1" &&thread2.ThreadState != ThreadState.Unstarted){Console.WriteLine("thread2.Join");thread2.Join(); }Thread.Sleep(1000);Console.WriteLine("\nCurrent thread: {0}", Thread.CurrentThread.Name);Console.WriteLine("Thread1: {0}", thread1.ThreadState);Console.WriteLine("Thread2: {0}\n", thread2.ThreadState);}
}

运行结果


Current thread: Thread1
thread2.JoinCurrent thread: Thread2Current thread: Thread2
Thread1: WaitSleepJoin
Thread2: RunningCurrent thread: Thread1
Thread1: Running
Thread2: Stopped

这个例子演示了“Thread.Join 会阻塞调用线程,直到被调用线程完成执行”

2、经典示例2

using System.Threading;
using System;class TestThread
{private static void ThreadTst(){Console.WriteLine("  " + Thread.CurrentThread.Name + "   开始执行");for (int i = 0; i < 10; i++){Console.WriteLine("     " + Thread.CurrentThread.Name + "   i =  " + i);Thread.Sleep(10);}Console.WriteLine("  " + Thread.CurrentThread.Name + "   执行完毕");}static void Main(string[] args){//程序调用了Main()函数时,就起动了一个进程,同时也启动了一个线程[这个线程就是主线程].Thread.CurrentThread.Name = "MainThread";//创建第一个线程Thread tA = new Thread(new ThreadStart(TestThread.ThreadTst));tA.Name = "线程A";Thread tB = new Thread(new ThreadStart(TestThread.ThreadTst));tB.Name = "线程B";Thread tC = new Thread(new ThreadStart(TestThread.ThreadTst));tC.Name = "线程C";Thread tD = new Thread(new ThreadStart(TestThread.ThreadTst));tD.Name = "线程D";for (int z = 0; z < 20; z++){if (z == 3){Console.WriteLine("tA.Start");tA.Start();Console.WriteLine("tB.Start");tB.Start();}else if (z == 6){Console.WriteLine("tA.Join");tA.Join();Console.WriteLine("tB.Join");tB.Join();}else if (z == 9){Console.WriteLine("tC.Start");tC.Start();Console.WriteLine("tD.Start");tD.Start();}else{Console.WriteLine(Thread.CurrentThread.Name + "   z =  " + z);}}Console.Read();}
}

运行结果

MainThread   z =  0
MainThread   z =  1
MainThread   z =  2
tA.Start
tB.Start
MainThread   z =  4
MainThread   z =  5
tA.Join线程A   开始执行线程A   i =  0线程B   开始执行   ->注意这里并没有返回调用线程,这里是线程B线程B   i =  0线程A   i =  1线程B   i =  1线程A   i =  2线程B   i =  2线程A   i =  3线程B   i =  3线程A   i =  4线程B   i =  4线程A   i =  5线程B   i =  5线程A   i =  6线程B   i =  6线程A   i =  7线程B   i =  7线程A   i =  8线程B   i =  8线程B   i =  9线程A   i =  9线程A   执行完毕线程B   执行完毕
tB.Join              ->注意线程B已经执行完毕了
MainThread   z =  7
MainThread   z =  8
tC.Start
tD.Start
MainThread   z =  10
MainThread   z =  11
MainThread   z =  12
MainThread   z =  13
MainThread   z =  14
MainThread   z =  15
MainThread   z =  16
MainThread   z =  17
MainThread   z =  18
MainThread   z =  19线程C   开始执行    ->线程C是等主线程结束后才开始执行的线程C   i =  0线程D   开始执行线程D   i =  0线程C   i =  1线程D   i =  1线程C   i =  2线程D   i =  2线程C   i =  3线程D   i =  3线程C   i =  4线程D   i =  4线程C   i =  5线程D   i =  5线程C   i =  6线程D   i =  6线程C   i =  7线程D   i =  7线程C   i =  8线程D   i =  8线程C   i =  9线程D   i =  9线程C   执行完毕线程D   执行完毕

这个例子主要目的是对比使用join(线程A、)和未使用join(线程C)的区别

http://www.yayakq.cn/news/778269/

相关文章:

  • 计算机网站开发职业定位wordpress历史
  • 建设部证书公布网站产品展示网站模板php
  • 长沙网站推广智投未来公司官网源码
  • 企业营销型网站案例莱芜网吧恢复营业
  • 网站建设三站合一用asp.net做的网站有哪些
  • 三合一网站开发教程安阳后营贴吧
  • 个人网站作业哈尔滨做设计和网站的公司
  • 烟台 做网站的公司北京平台网站建设公司
  • 河南企业网站定制国外推广网站有哪些
  • 海澜之家网站建设的计划查询网站是否被收录
  • 搜网站的关键词wordpress 用法
  • 智慧城市网站建设app下载赚钱
  • 网页设计建网站流程国网北京电力建设研究院网站
  • 百度站长资源管理住建局官网查询系统
  • 石家庄网站建设方案怎么让网站让百度收录
  • 老网站如何做301重定向新网站网络会议网站
  • 在线教学网站开发魔贝课凡seo课程好吗
  • 青岛做网站哪家公司好兰州百度推广的公司
  • 最好的自助建站系统江西南昌网络公司
  • 成都做网站设计哪家最权威wordpress分类页打不开
  • 网站制作需要什么人员wordpress 网站禁用全屏代码
  • 中企动力提供网站建设山西响应式官网建设平台
  • 中国建设安全监理协会网站贵州省网站建设
  • 天津做网站找哪家公司模仿建设银行网站
  • 如何做枪版电影网站怎么建设自己淘宝网站
  • mvc网站开发张家港网站制作哪家好
  • 沧州网站群深圳思弘装饰设计
  • 东昌府区住房和城乡建设局网站苏州网站设计网站搭建
  • 手机p2p网站建设怎么做二十八页美食网站
  • 快速开发手机网站wordpress不能播放wmv