永发信息网

求高手解答 用C#如何实现多线程控制多个邮箱,一个线程控制一个邮箱发邮件,发邮件的方法已实现。

答案:3  悬赏:0  手机版
解决时间 2021-02-19 15:09
  • 提问者网友:愿为果
  • 2021-02-18 14:57
求高手解答 用C#如何实现多线程控制多个邮箱,一个线程控制一个邮箱发邮件,发邮件的方法已实现。
最佳答案
  • 五星知识达人网友:鸠书
  • 2021-02-18 16:19
取得邮箱数量,for一个循环,循环次数等于你的邮箱数量,每个循环内实例化一个线程调用你的业务方法。具体线程如何使用baidu,祝你好运!原理就是上面的,可以用线程池
全部回答
  • 1楼网友:轮獄道
  • 2021-02-18 17:08
MSDN: .NET Framework 类库 Thread 类 创建并控制线程,设置其优先级并获取其状态。 命名空间:System.Threading 程序集:mscorlib(在 mscorlib.dll 中) 备注 一个进程可以创建一个或多个线程以执行与该进程关联的部分程序代码。使用 ThreadStart 委托或 ParameterizedThreadStart 委托指定由线程执行的程序代码。使用 ParameterizedThreadStart 委托可以将数据传递到线程过程。 在线程存在期间,它总是处于由 ThreadState 定义的一个或多个状态中。可以为线程请求由 ThreadPriority 定义的调度优先级,但不能保证操作系统会接受该优先级。 GetHashCode 提供托管线程的标识。在线程的生存期内,无论获取该值的应用程序域如何,它都不会和任何来自其他线程的值冲突。 注意 操作系统 ThreadId 和托管线程没有固定关系,这是因为非托管宿主能控制托管与非托管线程之间的关系。特别是,复杂的宿主可以使用 CLR Hosting API 针对相同的操作系统线程调度很多托管线程,或者在不同的操作系统线程之间移动托管线程。 下面的代码示例说明简单的线程处理功能。 using System; using System.Threading; // Simple threading scenario: Start a static method running // on a second thread. public class ThreadExample { // The ThreadProc method is called when the thread starts. // It loops ten times, writing to the console and yielding // the rest of its time slice each time, and then ends. public static void ThreadProc() { for (int i = 0; i < 10; i++) { Console.WriteLine("ThreadProc: {0}", i); // Yield the rest of the time slice. Thread.Sleep(0); } } public static void Main() { Console.WriteLine("Main thread: Start a second thread."); // The constructor for the Thread class requires a ThreadStart // delegate that represents the method to be executed on the // thread. C# simplifies the creation of this delegate. Thread t = new Thread(new ThreadStart(ThreadProc)); // Start ThreadProc. On a uniprocessor, the thread does not get // any processor time until the main thread yields. Uncomment // the Thread.Sleep that follows t.Start() to see the difference. t.Start(); //Thread.Sleep(0); for (int i = 0; i < 4; i++) { Console.WriteLine("Main thread: Do some work."); Thread.Sleep(0); } Console.WriteLine("Main thread: Call Join(), to wait until ThreadProc ends."); t.Join(); Console.WriteLine("Main thread: ThreadProc.Join has returned. Press Enter to end program."); Console.ReadLine(); } } 此代码产生的输出类似如下内容: Main thread: Start a second thread. Main thread: Do some work. ThreadProc: 0 Main thread: Do some work. ThreadProc: 1 Main thread: Do some work. ThreadProc: 2 Main thread: Do some work. ThreadProc: 3 Main thread: Call Join(), to wait until ThreadProc ends. ThreadProc: 4 ThreadProc: 5 ThreadProc: 6 ThreadProc: 7 ThreadProc: 8 ThreadProc: 9 Main thread: ThreadProc.Join has returned. Press Enter to end program.
  • 2楼网友:动情书生
  • 2021-02-18 16:35
你是要实时发送邮件吗?如果是我这里有个现成的,我刚刚做完这个功能,也是用多线程做的,如果不是,我也懒得改代码了,你自己可以到网上找些代码自己去改改就可以了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯