创建线程
using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; namespace ConsoleApplication12 { class { static { Thread t = new t.Start(); PrintNumbers(); } static { Console.WriteLine(“Starting…”); for (int i=0;i<10;i++) { Console.WriteLine(i); } } } } |
暂停线程
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; namespace ConsoleApplication12 { class { static { Thread t = new t.Start(); PrintNumbers(); } static { Console.WriteLine(“Starting…”); for (int i=0;i<10;i++) { Console.WriteLine(i); } } static { Console.WriteLine(“Starting…”); for (int i = 0; i < 10; i++) { Thread.Sleep(TimeSpan.FromSeconds(2)); Console.WriteLine(i); } } } } |
线程等待
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; namespace ConsoleApplication12 { class { static { Thread t = new t.Start(); t.Join(); PrintNumbers(); } static { Console.WriteLine(“Starting…”); for (int i=0;i<10;i++) { Console.WriteLine(i); } } static { Console.WriteLine(“Starting…”); for (int i = 0; i < 10; i++) { Thread.Sleep(TimeSpan.FromSeconds(2)); Console.WriteLine(i.ToString()+“###”); } } } } |
终止线程
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; namespace ConsoleApplication12 { class { static { Thread t = new t.Start(); Thread.Sleep(TimeSpan.FromSeconds(6)); t.Abort(); //PrintNumbers(); } static { Console.WriteLine(“Starting…”); for (int i=0;i<10;i++) { Console.WriteLine(i); } } static { Console.WriteLine(“Starting…”); for (int i = 0; i < 10; i++) { Thread.Sleep(TimeSpan.FromSeconds(2)); Console.WriteLine(i.ToString()+“###”); } } } } |
检测线程状态
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; namespace ConsoleApplication12 { class { static { Thread t = new t.Start(); Thread.Sleep(TimeSpan.FromSeconds(6)); Console.WriteLine(t.ThreadState.ToString()); t.Abort(); //PrintNumbers(); } static { Console.WriteLine(“Starting…”); for (int i=0;i<10;i++) { Console.WriteLine(i); } } static { Console.WriteLine(“Starting…”); for (int i = 0; i < 10; i++) { Thread.Sleep(TimeSpan.FromSeconds(2)); Console.WriteLine(i.ToString()+“###”); Console.WriteLine(Thread.CurrentThread.ThreadState); } } } } |
线程优先级
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; namespace ConsoleApplication12 { class { static { Thread t1 = new Thread t2 = new t1.Priority = ThreadPriority.Highest; t2.Priority = ThreadPriority.Lowest; t2.Start(); t1.Start(); //PrintNumbers(); } static { Console.WriteLine(“Starting…1”); for (int i=0;i<10;i++) { Console.WriteLine(i.ToString()+“+1”); } } static { Console.WriteLine(“Starting…2”); for (int i = 0; i < 10; i++) { Console.WriteLine(i.ToString() + “+2”); } } static { Console.WriteLine(“Starting…”); for (int i = 0; i < 10; i++) { Thread.Sleep(TimeSpan.FromSeconds(2)); Console.WriteLine(i.ToString()+“###”); Console.WriteLine(Thread.CurrentThread.ThreadState); } } } } |
前后台程序
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; namespace ConsoleApplication12 { class { static { Thread t1 = new Thread t2 = new t2.IsBackground = true; t2.Start(); Thread.Sleep(TimeSpan.FromSeconds(10)); t1.Start(); //PrintNumbers(); } static { Console.WriteLine(“Starting…1”); for (int i=0;i<10;i++) { Console.WriteLine(i.ToString()+“+1”); } } static { Console.WriteLine(“Starting…2”); for (int i = 0; i < 1000; i++) { Console.WriteLine(i.ToString() + “+2”); } } static { Console.WriteLine(“Starting…”); for (int i = 0; i < 10; i++) { Thread.Sleep(TimeSpan.FromSeconds(2)); Console.WriteLine(i.ToString()+“###”); Console.WriteLine(Thread.CurrentThread.ThreadState); } } } } |