自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

概述C#線程功能

開發(fā) 后端
這里介紹C#線程功能,線程是允許進(jìn)行并行計(jì)算的一個(gè)抽象概念:在另一個(gè)線程完成計(jì)算任務(wù)的同時(shí),一個(gè)線程可以對(duì)圖像進(jìn)行更新,二個(gè)線程可以同時(shí)處理同一個(gè)進(jìn)程發(fā)出的二個(gè)網(wǎng)絡(luò)請(qǐng)求。

C#線程功能

線程是允許進(jìn)行并行計(jì)算的一個(gè)抽象概念:在另一個(gè)線程完成計(jì)算任務(wù)的同時(shí),一個(gè)線程可以對(duì)圖像進(jìn)行更新,二個(gè)線程可以同時(shí)處理同一個(gè)進(jìn)程發(fā)出的二個(gè)網(wǎng)絡(luò)請(qǐng)求。 

從概念上講,線程提供了一種在一個(gè)軟件中并行執(zhí)行代碼的方式━━每個(gè)線程都“同時(shí)”在一個(gè)共享的內(nèi)存空間中執(zhí)行指令,(當(dāng)然是在一個(gè)處理器上,這是通過處于運(yùn)行狀態(tài)的線程的交替執(zhí)行完成的。),因此,每個(gè)線程都可以訪問一個(gè)程序內(nèi)的數(shù)據(jù)結(jié)構(gòu)。由于這種原因,多線程編程的難度就可想而知了,因?yàn)橐粋€(gè)程序內(nèi)有許多不同的線程需要安全地共享數(shù)據(jù)。   

線程的創(chuàng)建和運(yùn)行   

Java在java.lang.Thread和java.lang.Runnable類中提供了大部分的C#線程功能。創(chuàng)建一個(gè)線程非常簡單,就是擴(kuò)展 Thread類,并調(diào)用start()。通過創(chuàng)建一個(gè)執(zhí)行Runnable()的類,并將該類作為參數(shù)傳遞給Thread(),也可以定義一個(gè)線程。仔細(xì)地閱讀下面這個(gè)簡單的Java程序,其中有2個(gè)線程同時(shí)在從1數(shù)到5,并將結(jié)果打印出來。

  1. public class ThreadingExample  
  2. extends Object {  
  3. public static void main( String args[] ) {  
  4. Thread[] threads = new Thread[2];  
  5. for( int count=1;count<=threads.length;count ) {  
  6. threads[count] = new Thread( new Runnable() {  
  7. public void run() {  
  8. count();  
  9. }  
  10. } );  
  11. threads[count].start();  
  12. }  
  13. }  
  14. public static void count() {  
  15. for( int count=1;count<=5;count )  
  16. System.out.print( count " " );  
  17. }  

我們可以使用System.Threading.Thread和System.Threading.ThreadStart二個(gè)類將上述的Java程序轉(zhuǎn)換為C#語言:

  1. using System.Threading;  
  2. public class ThreadingExample : Object {  
  3. public static void Main() {  
  4. Thread[] threads = new Thread[2];  
  5. for( int count=1;count<=threads.Length;count ) {  
  6. threads[count] = new Thread( new ThreadStart( Count ) );  
  7. threads[count].Start();  
  8. }  
  9. }  
  10. public static void Count() {  
  11. for( int count=1;count<=5;count )  
  12. Console.Write( count " " );  
  13. }  

這個(gè)例子中有一些小技巧。Java允許擴(kuò)展java.lang.Thread類和執(zhí)行java.lang.Runnable接口,C#則沒有為我們提供這些便利。一個(gè)C#中的Thread對(duì)象是不可知的,必須通過ThreadStart進(jìn)行創(chuàng)建,這意味著不能使用內(nèi)部的類模式,而必須創(chuàng)建一個(gè)對(duì)象,而且必須傳遞給線程一個(gè)對(duì)象的方法供線程執(zhí)行用。以上介紹C#線程功能。

【編輯推薦】

  1. 描述C# Anonymous Type
  2. C#調(diào)用CreateObject
  3. 淺談C#對(duì)象和集合
  4. C#分部方法的應(yīng)用場景
  5. 淺析C# Anonymous Type
責(zé)任編輯:佚名 來源: Sina
相關(guān)推薦

2009-09-04 14:41:09

C#同步線程

2009-08-18 09:33:49

C#特有線程功能

2009-08-28 15:07:31

C#線程

2009-08-18 17:29:02

C#使用指針

2009-08-13 15:18:23

C#文件上傳

2009-08-31 09:44:23

C# Employee

2009-07-31 14:08:54

C# 匿名函數(shù)

2009-09-03 11:15:38

C#設(shè)置Coopera

2009-08-25 10:08:39

C# MyData對(duì)象

2009-08-19 11:09:00

C# Cast<T>

2009-08-24 18:09:13

C#構(gòu)造函數(shù)

2009-08-20 16:28:45

C#匿名方法

2009-08-25 16:49:44

C#使用if語句

2009-08-17 09:57:00

C# Windows

2009-09-03 10:42:16

C# Employee

2009-08-03 18:26:18

C#定義接口成員

2009-08-06 09:32:03

C#代碼協(xié)同執(zhí)行

2009-08-07 17:19:50

C#調(diào)用外部進(jìn)程

2009-08-10 13:40:46

創(chuàng)建C# COM對(duì)象

2009-08-26 09:36:03

C#泛型
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)