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

聚化网网站西宁网站设计高端

聚化网网站,西宁网站设计高端,个人网页怎么制作,开源企业cms建站系统C#线程学习#xff0c;线程的创建#xff0c;线程的暂停#xff0c;线程的锁lock,Monitor#xff0c;线程使用中的注意事项#xff08;一#xff09; 八股文 线程和进程 进程是指程序的一次执行过程#xff0c;而线程是指进程中执行的一条单一逻辑控制流。 进程是由多…C#线程学习线程的创建线程的暂停线程的锁lock,Monitor线程使用中的注意事项一 八股文 线程和进程 进程是指程序的一次执行过程而线程是指进程中执行的一条单一逻辑控制流。 进程是由多个线程组成的一个进程至少有一个线程叫做主线程。可以在任务管理器中查看有几个线程几个进程。 C#中的线程不支持获取返回值如果想获取返回时需要使用task Foreground线程和Background线程 Foreground默认的 只要有一个Foregournd线程在执行应用程序就不会关闭。Background线程则不是程序一旦退出Background立刻关闭。通过IsBackground查看属性 注意事项 异常捕获代码应该写在线程代码的内部而不是调用的位置同一个变量如果在两个线程修改那么另外一个也会修改不同的线程是共享全局变量的 代码 线程的创建线程间的变量共享线程中使用lock进行锁解决线程中变量共享的问题线程中使用Monitor进行锁解决线程中变量共享的问题 using System; using System.Threading; using static System.Net.Mime.MediaTypeNames;namespace csharp线程学习 {internal class Program{static void Main(string[] args){线程的创建//Console.WriteLine(\n线程的创建);//CreatMyThread_1();//无参数//CreatMyThread_2();//有参数//CreatMyThread_3();//有参数//CreatMyThread_4();//使用lamada表达式两个线程共享全局变量Console.WriteLine(\n线程中全局变量是共享的);//Thread thread1 new Thread(Func1);//thread1.Start();//Thread thread2 new Thread(Func2);//thread2.Start();//使用线程锁来解决变量共享的问题Console.WriteLine(\n线程中使用lock线程锁);//Thread thread1 new Thread(ThreadLine1);//thread1.Start();//Thread thread2 new Thread(ThreadLine2);//thread2.Start();//使用线程锁Console.WriteLine(\n线程中使用Monitor线程锁);Thread thread1 new Thread(ThreadLine4);thread1.Start();Thread thread2 new Thread(ThreadLine5);thread2.Start();Console.ReadLine();Console.ReadLine();}/// summary/// 创建线程的方式_1/// /summaryprivate static void CreatMyThread_1(){//创建线程的方式Thread thread new Thread(ThreadProc);thread.Start();}/// summary/// 创建线程的方式有参数_2s/// /summaryprivate static void CreatMyThread_2(){Thread m_thrad new Thread(new ParameterizedThreadStart(ThreadProcWithPro));//创建一个有参数的线程m_thrad new Thread(ThreadProcWithPro);m_thrad.Start(今天是2023年);}/// summary/// 创建线程的方式有参数_3/// /summaryprivate static void CreatMyThread_3(){Thread m_thrad new Thread(ThreadProcWithPro);//创建一个有参数的线程m_thrad.Start(今天是2023年);}/// summary/// 创建线程的方式有参数_4/// /summaryprivate static void CreatMyThread_4(){Thread t new Thread(() Console.WriteLine(Hello!));}private static void ThreadStop(){Thread m_thrad new Thread(new ParameterizedThreadStart(ThreadProcWithPro));//创建一个有参数的线程m_thrad new Thread(ThreadProcWithPro);m_thrad.Start(今天是2023年);m_thrad.Join();//通过添加异常停止}/// summary/// 一个可以被执行的方法没有参数/// /summaryprivate static void ThreadProc(){for (int i 0; i 5; i){Console.WriteLine(你好我的朋友);Thread.Sleep(0);}}/// summary/// 一个可以被执行的方法有参数/// /summary/// param namestrparobject类型的参数/paramprivate static void ThreadProcWithPro(object strpar){Console.WriteLine(传递的参数是: (string)strpar);}//用于演示两个线程之间全局变量是共享的public static int number 0;private static void Func1(){for (; number 10; number){if (number 4){Thread.Sleep(10);}Console.WriteLine($当前是线程1 number{number});}}private static void Func2(){for (; number 10; number){if (number 5){Thread.Sleep(10);}Console.WriteLine($当前是线程2 number{number});}}//线程的锁两个线程中如果有lock必须要等到当前线程执行完毕之后才能进行下一个private static object locktokenA new object();//锁必须是引用类型private static void ThreadLine1(){lock (locktokenA){for (; number 10; number){if (number 5){Thread.Sleep(10);}Console.WriteLine($当前是线程1 number{number});}}}private static void ThreadLine2(){lock (locktokenA){for (; number 15; number){if (number 7){Thread.Sleep(10);}Console.WriteLine($当前是线程2 number{number});}}}//使用Monitor锁来控制多线程private static void ThreadLine4(){Monitor.Enter(locktokenA);for (; number 10; number){if (number 5){Thread.Sleep(10);}Console.WriteLine($当前是线程1 number{number});}Monitor.Exit(locktokenA);}private static void ThreadLine5(){Monitor.Enter(locktokenA);for (; number 15; number){if (number 7){Thread.Sleep(10);}Console.WriteLine($当前是线程2 number{number});}Monitor.Exit(locktokenA);}} }
http://www.zqtcl.cn/news/863857/

相关文章:

  • 网站后台账户如何做会计分录做传奇开服一条龙网站哪个好
  • 天门市网站建设seo平台建设网站公司
  • php网站怎么做302织梦网站有会员系统怎么做
  • 清远建设局网站安阳吧百度贴吧
  • 做什么软件做网站效率最好网站公司建设都招聘那些职位
  • 缙云建设局网站深圳营销型网站设计
  • 企业网站制作价格成都高端网站建设公司哪家好
  • wordpress+做仿站网站建设费用属于业务宣传费吗
  • 昆明企业网站制作wordpress移动端插件menu
  • 长沙网站设计培训学校南宁建设网站哪里好
  • 提高基层治理效能全国seo搜索排名优化公司
  • 如何建设网站简介WordPress集成tipask
  • 青海网站开发公司建筑公司的愿景怎么写
  • 建设银行集团网站首页优化科技
  • dede 汽车网站网站上的彩票走势图是怎么做的
  • 网站内容营销呼市推广网站
  • 南宁网站建设价格医院有关页面设计模板
  • 城乡住房和城乡建设厅网站湖州公司网站建设
  • h5响应式的网站建站空间哪个好
  • 徐州网站建设与推广公众号开发技术风险
  • 男女做差差事的视频网站自己做一个小程序要多少钱
  • 临沂网站建设哪家好重庆建设招标造价信息网站
  • 筑巢网络官方网站深圳网站开发设计公司排名
  • 镇江市网站制作网页的代码实例
  • 吉林省网站制作公司有哪些唐山设计网站公司
  • 浙江国泰建设集团有限公司网站ps软件下载电脑版免费怎么下载
  • 昆明网站建设价格自力教育
  • 黄冈网站推广软件视频下载孝感做网站xgsh
  • 用jsp做一网站的流程图互联网博客网站
  • 南宁一站网 给网站做营销微网站和网站同步像素