1. Color Ball Case
namespace_18 Color Ball Case { PublicPartialclassForm1:form {Private BOOLisrunning;PrivateList<label> lblist =NewList<label> (); PublicForm1 () {InitializeComponent (); }// <summary> /// Save current thread // </summary> PrivateThread ThreadS {Get;Set; }// <summary> /// boot thread // </summary> /// <param name= "Sender" ></param> /// <param name= "E" ></param> Private voidBtnstatt_click (Objectsender, EventArgs e) {Thread thread =NewThread (NewThreadStart (() = {isrunning =true; Random ran =NewRandom (); while(isrunning) {foreach(Label labelinchLblist) {if(label. invokerequired) {label. Invoke (Newaction<string> (s) = label. Text = s), ran. Next (0, 10). ToString ()); }Else{label. Text = ran. Next (0, 10). ToString (); }} thread.sleep (200); } })); Thread. IsBackground =true; Thread. Start (); ThreadS = thread; }// <summary> // Terminate thread // </summary> /// <param name= "Sender" ></param> /// <param name= "E" ></param> Private voidBtnstop_click (Objectsender, EventArgs e) {isrunning =false;if(ThreadS = =NULL|| ! threads.isalive) {return; }Else{Threads.abort (); } }// <summary> /// dynamically create label // </summary> /// <param name= "Sender" ></param> /// <param name= "E" ></param> Private voidForm1_Load (Objectsender, EventArgs e) { for(inti = 0; I < 6; i++) {Label lb =NewLabel (); Lb. Text = i.ToString (); Lb. AutoSize =true; Lb. Location =NewPoint (i + 50, 100); This. Controls.Add (LB); Lblist.add (LB); } } }} View Code
2.
C # Learning-Multithreading Small exercise