zoukankan      html  css  js  c++  java
  • c# 多线程直接退出不运行 所有线程执行后执行主线程

    main下定义了两个线程,运行时,两个线程都不执行,直接退出

    Thread t1 = new Thread(new ParameterizedThreadStart(Properties));//t1线程调用带参数的Properties方法
    Thread t2 = new Thread(new ParameterizedThreadStart(Consumer));//t2线程调用带参数的Consumer方法
    t1.IsBackground = true;
    t2.IsBackground = true;
    t1.Start(prop); //prop为Properties方法的实参
    t2.Start(con); //con为Consumer方法的实参

    第一种方案是:

    将 IsBackground 注释掉,这个参数是后台执行的意思,这样主线程就不知道子线程的情况了,所有直接下一步了

    还有一种方案是:

    t1.Join();//阻塞主线程
    t2.Join();//阻塞主线程

    在下面加上这两句,用于阻塞主线程,场景是可以在下面执行第三个线程,这样就是等前面所有线程执行后,再执行接下来的线程,不然所有线程都并发了,没有交互。

    完!

  • 相关阅读:
    两种&
    安装版Windows是必须的
    检验CSS3.0兼容性的有趣东东
    Quadro和Geforce系列的区别
    ECMAScript
    多拉A梦的CSS(6) :not
    多拉A梦的CSS(1) Transform
    表单
    关于a元素的伪类
    多拉A梦的CSS(4) gradient
  • 原文地址:https://www.cnblogs.com/yangchas/p/13292326.html
Copyright © 2011-2022 走看看