成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java和C#線程描述

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

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

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

從概念上講,線程提供了一種在一個(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ù)。

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

Java在java.lang.Thread和java.lang.Runnable類中提供了大部分的線程功能。創(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.  
  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二個(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.  
  11. public static void Count() {  
  12. for( int count=1;count<=5;count++ )  
  13. Console.Write( count + " " );  
  14. }  

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

【編輯推薦】

  1. 運(yùn)用C#數(shù)據(jù)提供者
  2. C#允許運(yùn)算符重載剖析
  3. Java和C#頂層聲明概述
  4. C#完全限定名簡單分析
  5. C#數(shù)據(jù)類型簡單介紹
責(zé)任編輯:佚名 來源: 博客園
相關(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-17 16:32:34

C# Anonymou

2009-08-18 17:41:22

C# ListView

2009-08-31 13:18:09

C# IWebMess

2009-08-26 17:49:36

C# readonly

2009-08-03 18:08:39

C# ICloneab

2009-08-31 18:32:01

C# ListBoxE

2009-08-03 16:45:02

C#異步Socket

2009-08-20 09:30:03

C#開發(fā)WinForm

2009-09-03 13:14:55

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

2009-09-01 18:25:32

C#結(jié)構(gòu)實(shí)例

2009-09-04 11:15:07

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

2009-09-04 13:22:31

C#實(shí)現(xiàn)多個(gè)接口

2009-08-21 17:31:58

C#垃圾回收

2009-08-13 17:58:34

C#存儲過程
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 国产欧美精品一区二区色综合朱莉 | 欧美激情一区二区三区 | 色婷婷久久久久swag精品 | 亚洲精品9999 | h片在线看 | 国产美女久久 | 亚洲一区二区av在线 | 一区二区三区在线电影 | 国产1区| 久草在线在线精品观看 | 久久久精品网 | 国产高清在线 | 在线观看中文字幕dvd播放 | 色久五月 | 四虎成人精品永久免费av九九 | 免费黄色片在线观看 | 色婷婷一区二区三区四区 | 日干夜操| 99久久国产精 | 久久精品国产亚洲一区二区三区 | 91中文在线观看 | 九九九视频精品 | 先锋资源亚洲 | 国产欧美日韩一区二区三区在线观看 | 欧美激情一区二区三区 | 欧美日韩久久精品 | 欧美日韩国产一区二区 | 亚洲色图综合 | 久久久久久网 | 国产日屁 | 久久精品国产精品青草 | 黄色网络在线观看 | 亚洲另类视频 | 国产午夜精品一区二区三区嫩草 | 日本黄色免费大片 | 欧美v片 | 久久香蕉精品视频 | 中文字幕第一页在线 | 97精品一区二区 | 国产成人av电影 | 日日天天|