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();//阻塞主線程
在下面加上這兩句,用於阻塞主線程,場景是可以在下面執行第三個線程,這樣就是等前面所有線程執行后,再執行接下來的線程,不然所有線程都並發了,沒有交互。
完!