偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Java多線程進(jìn)程應(yīng)對(duì)同一程序運(yùn)行資源

開發(fā) 后端
Java多線程進(jìn)程在運(yùn)行的時(shí)候需要我們注意很多知識(shí),下面我們就看看如何才能最大的節(jié)省線程所占資源。希望大家有所收獲。

Java多線程進(jìn)程需要我們不斷的學(xué)習(xí),在學(xué)習(xí)的過程中我們要看看如何才能更好的改變目前的運(yùn)行障礙。通俗一點(diǎn)說,進(jìn)程就是程序的一次執(zhí)行,而線程可以理解為進(jìn)程中的執(zhí)行的一段程序片段。

用一點(diǎn)文詞說就是,每個(gè)進(jìn)程都有獨(dú)立的代碼和數(shù)據(jù)空間(進(jìn)程上下文);而線程可以看成是輕量級(jí)的進(jìn)程。一般來講(不使用特殊技術(shù)),同一進(jìn)程所產(chǎn)生的線程共享同一塊內(nèi)存空間。#t#

同一進(jìn)程中的兩段代碼是不可能同時(shí)執(zhí)行的,除非引入線程。線程是屬于進(jìn)程的,當(dāng)進(jìn)程退出時(shí)該進(jìn)程所產(chǎn)生的線程都會(huì)被強(qiáng)制退出并清除。線程占用的資源要少于Java多線程進(jìn)程所占用的資源。進(jìn)程和線程都可以有優(yōu)先級(jí)。在線程系統(tǒng)中進(jìn)程也是一個(gè)線程??梢詫⑦M(jìn)程理解為一個(gè)程序的第一個(gè)線程。多進(jìn)程——在操作系統(tǒng)中,能同時(shí)運(yùn)行多個(gè)任務(wù)(程序)。

Java多線程進(jìn)程——在同一應(yīng)用程序中,有多個(gè)順序流同時(shí)執(zhí)行。

通過鐵路售票程序來理解實(shí)現(xiàn)Java多線程的兩種方法:通過java.lang.Thread類和通過Runnable接口

java中有兩種實(shí)現(xiàn)Java多線程進(jìn)程的方式。一是直接繼承Thread類,二是實(shí)現(xiàn)Runnable接口。那么這兩種實(shí)現(xiàn)Java多線程的方式在應(yīng)用上有什么區(qū)別呢?

為了回答這個(gè)問題,我們可以通過編寫一段代碼來進(jìn)行分析。我們用代碼來模擬鐵路售票系統(tǒng),實(shí)現(xiàn)通過四個(gè)售票點(diǎn)發(fā)售某日某次列車的100張車票,一個(gè)售票點(diǎn)用一個(gè)線程表示。

我們首先這樣編寫這個(gè)程序:

 

  1. public class ThreadDome1{  
  2. public static void main(String[] args){  
  3. ThreadTest t = new ThreadTest();  
  4. t.start();  
  5. t.start();  
  6. t.start();  
  7. t.start();  
  8. }  
  9. }  
  10. class ThreadTest extends Thread{  
  11. private int ticket = 100;  
  12. public void run(){  
  13. while(true){  
  14. if(ticket > 0){  
  15. System.out.println(Thread.currentThread().getName() +  
  16. ”is saling ticket” + ticket–);  
  17. }else{  
  18. break;  
  19. }  
  20. }  
  21. }  
  22. }  

 

上面的Java多線程進(jìn)程代碼中,我們用ThreadTest類模擬售票處的售票過程,run方法中的每一次循環(huán)都將總票數(shù)減1,模擬賣出一張車票,同時(shí)該車票號(hào)打印出來,直接剩余的票數(shù)到零為止。在ThreadDemo1類的main方法中,我們創(chuàng)建了一個(gè)線程對(duì)象,并重復(fù)啟動(dòng)四次,希望通過這種方式產(chǎn)生四個(gè)線程。從運(yùn)行的結(jié)果來看我們發(fā)現(xiàn)其實(shí)只有一個(gè)線程在運(yùn)行,這個(gè)結(jié)果告訴我們:一個(gè)線程對(duì)象只能啟動(dòng)一個(gè)線程,無論你調(diào)用多少遍start()方法,結(jié)果只有一個(gè)線程。

 

責(zé)任編輯:張浩
相關(guān)推薦

2012-06-20 14:07:28

多線程架構(gòu)單線程

2021-06-11 11:28:22

多線程fork單線程

2022-05-26 08:31:41

線程Java線程與進(jìn)程

2021-09-10 21:25:43

Redis分布式

2019-02-26 11:15:25

進(jìn)程多線程多進(jìn)程

2010-01-21 11:25:44

linux多線程線程資源

2010-03-16 10:50:21

Java多線程服務(wù)器

2010-09-17 09:08:49

Java多線程

2009-02-10 09:53:41

多線程程序設(shè)計(jì)Java

2011-04-15 10:51:47

程序員

2009-06-11 10:22:18

Java多線程

2010-03-16 17:52:27

Java多線程信號(hào)量

2013-12-02 17:33:20

Linux進(jìn)程多線程

2022-03-09 17:01:32

Python多線程多進(jìn)程

2010-03-15 19:47:30

Java多線程程序

2011-04-18 09:22:38

多線程

2021-12-28 09:10:55

Java線程狀態(tài)

2021-12-14 08:28:08

Java多線程線程

2009-03-12 10:52:43

Java線程多線程

2022-11-04 10:45:11

Java基礎(chǔ)CPU
點(diǎn)贊
收藏

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