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();//阻塞主线程

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

    完!

  • 相关阅读:
    [面试题]什么是面向对象编程
    面向对象编程的新手理解
    Object of type type is not JSON serializable
    STL---map
    STL---llist
    Div标签使用inline-block有间距
    STL---vector
    KMP算法
    算法06
    算法05
  • 原文地址:https://www.cnblogs.com/yangchas/p/13292326.html
Copyright © 2011-2022 走看看