using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace WindowsFormsApplication16
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
/// <summary>
///
/// 多线程 无参数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
Application.DoEvents();
this.Text = Thread.CurrentThread.ManagedThreadId.ToString();
Thread th = new Thread(new ThreadStart(Mess));
th.IsBackground = true;
th.Start();
// th.Join();
// Application.Exit();
}
void Mess() {
string message = string.Format("Async threadId is :{0}", Thread.CurrentThread.ManagedThreadId);
Console.WriteLine(message);
for (int i = 0; i < 200; i++)
{
Thread.Sleep(300);
Console.WriteLine(i.ToString());
}
}
void Mess(object p1 )
{
Person p =(Person)p1;
string message = string.Format("Async threadId is :{0}", Thread.CurrentThread.ManagedThreadId);
Console.WriteLine(message);
for (int i = 0; i < 200; i++)
{
Thread.Sleep(300);
Console.WriteLine(i.ToString());
Console.WriteLine(p.Names);
}
}
/// <summary>
/// 多线程有参数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
Thread th = new Thread(new ParameterizedThreadStart(Mess));
Person p = new Person() { Names = "zwj" };
th.Start(p)
; }
}
}
class Person {
public string Names { get; set; }
}