zoukankan      html  css  js  c++  java
  • 线程池管理线程及线程间通信

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading;

    namespace ConsoleTest
    {
    public class ClassThread
    {
    //监听线程事件
    private ManualResetEvent myResetEvent = new ManualResetEvent(false);
    private ManualResetEvent myResetEvent2 = new ManualResetEvent(false);
    public bool set()
    {
    myResetEvent.Set();
    return true;
    }

    public bool set2()
    {
    myResetEvent2.Set();
    return true;
    }

    private void ThreadOne(object stateInfo)
    {

    for (int i = 0; i < 100; i++)
    {
    Console.WriteLine("123");
    }
    set();
    myResetEvent2.WaitOne();
    Console.WriteLine("123!!!!!!!!!");
    }
    private void ThreadTwo(object stateInfo)
    {

    myResetEvent.WaitOne();
    Console.WriteLine("456");

    Func<bool> func = new Func<bool>(MethodTwo);
    func.Invoke();

    Console.WriteLine("901");
    Console.WriteLine("901");
    Console.WriteLine("901");

    }
    private bool MethodTwo()
    {
    Console.WriteLine("0000000000000000000000000000000000000000000000");

    return set2();
    }
    public void run()
    {
    Thread _ThreadAsyncRunner = new Thread(new ThreadStart(ThreadProc_AsyncRunner));
    _ThreadAsyncRunner.Start();
    }
    private void ThreadProc_AsyncRunner()
    {
    ThreadPool.QueueUserWorkItem(new WaitCallback(this.ThreadOne));
    ThreadPool.QueueUserWorkItem(new WaitCallback(this.ThreadTwo));
    }
    }
    }

    test:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading;

    namespace ConsoleTest
    {
    class Program
    {
    static void Main(string[] args)
    {
    Console.SetBufferSize(100,1200);
    ClassThread threads = new ClassThread();
    threads.run();
    Console.WriteLine("11111");
    Console.ReadKey();
    }
    }
    }

  • 相关阅读:
    算法图解之散列表
    算法图解之快速排序
    算法图解之分而治之
    __setitem__,__getitem,__delitem__的作用
    算法图解之递归
    Python开发不可不知的虚拟环境
    静态属性property的本质和应用
    SQLmap详解
    windows提权备忘录
    linux提权备忘录
  • 原文地址:https://www.cnblogs.com/lxc-binary/p/3979459.html
Copyright © 2011-2022 走看看