且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

C#多线程学习笔记(一)

更新时间:2022-04-17 19:34:56

学习网站可以在http://www.yesky.com/331/215831.shtml
里看到所有文章

a.在C#中要使用线程要引用System.Threading;

C#多线程学习笔记(一)using System.Threading;

b.在C#可以对程进行命名

C#多线程学习笔记(一)Thread _thrd = new Thread(new ThreadStart(C#多线程学习笔记(一)));
C#多线程学习笔记(一)_thrd.Name 
= "thisthrd.name"

c.可以通过Thread的static属性获取当前线程
C#多线程学习笔记(一)Thread.CurrentThread

d.操作线程的几个重要的方法

Start():启动线程
Sleep(int):静态方法,暂停当前线程指定的毫秒数
Abort():通常使用该方法来终止一个线程
Suspend():该方法并不终止未完成的线程,它仅仅挂起线程,以后还可恢复。
Resume():恢复被Suspend()方法挂起的线程的执行

e. sample

C#多线程学习笔记(一)using System;
C#多线程学习笔记(一)
using System.Collections.Generic;
C#多线程学习笔记(一)
using System.Text;
C#多线程学习笔记(一)
using System.Threading;
C#多线程学习笔记(一)
C#多线程学习笔记(一)
namespace ThreadOperation
C#多线程学习笔记(一)C#多线程学习笔记(一)
C#多线程学习笔记(一){
C#多线程学习笔记(一)    
public class Alpha
C#多线程学习笔记(一)C#多线程学习笔记(一)    
C#多线程学习笔记(一){
C#多线程学习笔记(一)        Int32 i;
C#多线程学习笔记(一)        
public Alpha()
C#多线程学习笔记(一)C#多线程学习笔记(一)        
C#多线程学习笔记(一){
C#多线程学习笔记(一)            i 
= 0;
C#多线程学习笔记(一)        }

C#多线程学习笔记(一)        
public void Beta()
C#多线程学习笔记(一)C#多线程学习笔记(一)        
C#多线程学习笔记(一){
C#多线程学习笔记(一)            
while (true)
C#多线程学习笔记(一)C#多线程学习笔记(一)            
C#多线程学习笔记(一){
C#多线程学习笔记(一)                Console.WriteLine(i.ToString() 
+ ":Alpha.Beta is running out of its own thread");
C#多线程学习笔记(一)                i
++;
C#多线程学习笔记(一)            }

C#多线程学习笔记(一)        }

C#多线程学习笔记(一)    }

C#多线程学习笔记(一)
C#多线程学习笔记(一)    
class Program
C#多线程学习笔记(一)C#多线程学习笔记(一)    
C#多线程学习笔记(一){
C#多线程学习笔记(一)        
static int Main(string[] args)
C#多线程学习笔记(一)C#多线程学习笔记(一)        
C#多线程学习笔记(一){
C#多线程学习笔记(一)            Thread.CurrentThread.Name 
= "System Thread";
C#多线程学习笔记(一)            Console.WriteLine(
"Thread Start/Stop/Join sample");
C#多线程学习笔记(一)            Alpha oAlpha 
= new Alpha();
C#多线程学习笔记(一)            Thread oThread 
= new Thread(new ThreadStart(oAlpha.Beta));
C#多线程学习笔记(一)            oThread.Start();
C#多线程学习笔记(一)            oThread.Name 
= "Alpha Thread";
C#多线程学习笔记(一)            
while (!oThread.IsAlive) Console.WriteLine("has dead");
C#多线程学习笔记(一)            Console.WriteLine(
"Current Thread:" + Thread.CurrentThread.Name);
C#多线程学习笔记(一)            Thread.Sleep(
1);
C#多线程学习笔记(一)            Console.WriteLine(
"oThread.ThreadState:"+oThread.ThreadState);
C#多线程学习笔记(一)            oThread.Abort();
C#多线程学习笔记(一)            Console.WriteLine(
"oThread.ThreadState:" + oThread.ThreadState);
C#多线程学习笔记(一)            oThread.Join();
C#多线程学习笔记(一)            Console.WriteLine(
"oThread.ThreadState:" + oThread.ThreadState);
C#多线程学习笔记(一)            Console.WriteLine();
C#多线程学习笔记(一)            Console.WriteLine(
"Alpha.Beta has finished");
C#多线程学习笔记(一)            
try
C#多线程学习笔记(一)C#多线程学习笔记(一)            
C#多线程学习笔记(一){
C#多线程学习笔记(一)                Console.WriteLine(
"Try to restart the Alpha.Beta thread");
C#多线程学习笔记(一)                oThread.Start();
C#多线程学习笔记(一)            }

C#多线程学习笔记(一)            
catch (ThreadStateException)
C#多线程学习笔记(一)C#多线程学习笔记(一)            
C#多线程学习笔记(一){
C#多线程学习笔记(一)                Console.WriteLine(
"oThread.ThreadState:" + oThread.ThreadState);
C#多线程学习笔记(一)                Console.Write(
"ThreadStateException trying to restart Alpha.Beta. ");
C#多线程学习笔记(一)                Console.WriteLine(
"Expected since aborted threads cannot be restarted.");
C#多线程学习笔记(一)                Console.ReadLine();
C#多线程学习笔记(一)            }

C#多线程学习笔记(一)            
return 0;
C#多线程学习笔记(一)
C#多线程学习笔记(一)            
C#多线程学习笔记(一)        }

C#多线程学习笔记(一)    }

C#多线程学习笔记(一)}

C#多线程学习笔记(一)