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

Java和C#線程描述

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

在向大家詳細介紹Java和C#線程之前,首先讓大家了解下Java和C#線程的創(chuàng)建和運行,然后全面介紹Java和C#線程。

線程是允許進行并行計算的一個抽象概念:在另一個線程完成計算任務(wù)的同時,一個線程可以對圖像進行更新,二個線程可以同時處理同一個進程發(fā)出的二個網(wǎng)絡(luò)請求。我們在這篇文章中將重點討論Java和C#線程方面的不同之處。

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

Java和C#線程的創(chuàng)建和運行

Java在java.lang.Thread和java.lang.Runnable類中提供了大部分的線程功能。創(chuàng)建一個線程非常簡單,就是擴展Thread類,并調(diào)用start()。通過創(chuàng)建一個執(zhí)行Runnable()的類,并將該類作為參數(shù)傳遞給Thread(),也可以定義一個線程。仔細地閱讀下面這個簡單的Java程序,其中有2個線程同時在從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.  
  15. public static void count() {  
  16. for( int count=1;count<=5;count++ )  
  17. System.out.print( count + " " );  
  18. }  

我們可以使用System.Threading.Thread和System.Threading.ThreadStart二個類將上述的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.  
  11. public static void Count() {  
  12. for( int count=1;count<=5;count++ )  
  13. Console.Write( count + " " );  
  14. }  

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

【編輯推薦】

  1. 運用C#數(shù)據(jù)提供者
  2. C#允許運算符重載剖析
  3. Java和C#頂層聲明概述
  4. C#完全限定名簡單分析
  5. C#數(shù)據(jù)類型簡單介紹
責任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-08-13 17:04:09

C#語言C#程序

2009-09-07 15:15:43

2009-09-04 15:09:48

C#多線程啟動Squa

2009-08-19 10:09:21

C#和C++

2009-08-26 14:54:23

C# new和over

2009-08-28 11:22:11

C#裝箱和拆箱

2009-08-20 09:30:03

C#開發(fā)WinForm

2009-08-03 16:45:02

C#異步Socket

2009-08-03 18:08:39

C# ICloneab

2009-08-17 16:32:34

C# Anonymou

2009-08-18 17:41:22

C# ListView

2009-08-26 17:49:36

C# readonly

2009-08-31 13:18:09

C# IWebMess

2009-08-31 18:32:01

C# ListBoxE

2009-09-03 13:14:55

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

2009-08-12 18:28:09

C#事件處理程序

2009-08-20 16:45:03

C#哈希值

2009-08-27 10:01:52

C#自動屬性

2009-09-01 17:08:35

C# Color枚舉

2009-09-03 16:55:58

C#引用類型
點贊
收藏

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