亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? thread.txt

?? Java大部分的基礎(chǔ)知識,EJB3,EJB2,WEBSERVICE,SOAP,JMS,MQ,還有些面試題
?? TXT
?? 第 1 頁 / 共 3 頁
字號:
    	public Product(int productID,String productName)
    	{
    		this.productID=productID;
    		this.productName=productName;
    	}
    	public String toString()
    	{
    		StringBuffer sb=new StringBuffer();
    		sb.append("{");
    		sb.appentd("productID="+this.productID+";");
    		sp.append("productName="+this.productName+";");
    		sb.append("}");
    		return sb.toString();
    	}
    }
    public class WareHouse
    {
    	private int maxSize;
    	private int size;
    	private int front=0;
    	private int vear=-1;
    	private Product products[];
    	public WareHouse(int maxSize)
    	{
    		this.maxSize=maxSize;
    		this.size=0;
    		products=new Product[this.maxSize];
    	}
    	public synchronized void add(Product product)
    	{
    		//只有Producer才可以生產(chǎn)產(chǎn)品
    		Thread temp=Thread.currendThead();
    		if(temp.getClass.equals(Producer.class))
    		{
    			Producer producer=(Producer)temp;
	    		while(this.isFull() && producer.isRunning)
	    		{
	    			System.out.println(producer.getName()+"要等待");
	    			wait;
	    			System.out.println(producer.getName()+"激活了");
	    		}
	    		this.products[++vear]=product;
	    		if(vear==this.maxSize-1)
	    		{
	    			vear=-1;
	    		}
    		}
    	}
    	public synchronized Product remove()
    	{
    		if(this.isEmpty())
    		{
    			wait;
    		}
    		Product temp=this.products[front++];
    		if(front==this.maxSize)
    		{
    			front=0;
    		}
    		return temp;
    	}
    	public boolean isFull()
    	{
    		retrurn this.siz==maxSize;
    	}
    	public boolean isEmpty()
    	{
    		return this.size==0;
    	}
    
    }
    public class Producer extends Thread
    {
    	private  WareHouse wareHouse;
    	private boolean isRunning=true;
    	private static int i;
    	public Producer(String threadName,WareHouse wareHouse)	
    	{
    		super(threadName);
    		this.wareHouse=wareHouse;
    	}
    	public void run()
    	{
    		while(isRunning)
    		{
    			i++;
    			Product product=new Product(i,"name"+i);
    			wareHouse.add(product);
    			Thread.sleep(1000);
    		}
    	}
    	public void stopProducer()
    	{
    		synchronized(wareHouse)
    		{
    			this.isRunning=false;
    			//在關(guān)閉前激活一下所有的線程
    			notifyAll();
    		}
    	}
    }
    public class Consumer extends Thread
    {
    	public void run()
    	{
    	
    	}
    }
三、join:讓主線程等待所有的子線程執(zhí)行完后再執(zhí)行。
四、setDaemon:在線程start之前設(shè)置,將當(dāng)前線程設(shè)置為守護(hù)線程,
    當(dāng)其它線程結(jié)束后,守護(hù)線程自動停止。
    守護(hù)線程為其它線程提供服務(wù)。
五、setPriority:設(shè)置線程運(yùn)行的優(yōu)先級,默認(rèn)是5,優(yōu)先級越高越提前
    執(zhí)行。
六、取出虛擬機(jī)下的所有線程
	線程組:ThreadGroup,一個線程組可以有多個線程,也可以有很多子線程組
	線程:Thread
		實(shí)例化線程:
			new Thread(Runnable run);
			new Thread(Runnable run,String ThreadName);
			new Thread(String ThreadName);
			//基于runnable實(shí)現(xiàn)一個線程,ThreadName是線程的名稱,ThreadGroup代表當(dāng)前線程屬于那一個線程組
			new Thread(ThreadGroup tg,Runnable run,String ThreadName);
			new Thread(ThreadGroup tg,String ThreadName)
		實(shí)例化線程組:
			//當(dāng)前的線程組從屬于那一個線程組
			new ThreadGroup(ThreadGroup tg,String ThreadName);
			new ThreadGroup(String ThreadName)
		方法:
			currentThread():得到調(diào)用當(dāng)對象的線程
			enumerate(Thread[] tarray):  將當(dāng)前線程的線程組及其子組中的每一個活動線程引用復(fù)制到指定的數(shù)組中。	
			enumerate(Thread[] tarray,false):  當(dāng)前線程組內(nèi)的每一個活動線程引用復(fù)制到數(shù)組中。	
			
			
			enumerate(ThreadGroup[] tarray):  將當(dāng)前線程的線程組及其子組中的每一個活動線程引用復(fù)制到指定的數(shù)組中。	
			enumerate(ThreadGroup[] tarray,false):  當(dāng)前線程組內(nèi)的每一個活動線程組的引用復(fù)制到數(shù)組中。
			getThreadGroup();返回該線程所屬的線程組。
			void interrupt(): 中斷線程。 
			static boolean interrupted(): 測試當(dāng)前線程是否已經(jīng)中斷。 
			boolean isAlive(): 測試線程是否處于活動狀態(tài)。 
			boolean isDaemon():測試該線程是否為守護(hù)線程。 
			boolean isInterrupted():測試線程是否已經(jīng)中斷。 
			void join():等待該線程終止。 
			setPriority(int newPriority) :線程的優(yōu)先級。
			yield():暫停當(dāng)前正在執(zhí)行的線程對象,釋放資源,并執(zhí)行其他線程,將其放到線程隊(duì)列的最后。
			activeCount() :返回當(dāng)前線程的線程組中活動線程的數(shù)目。
七、產(chǎn)生一個線程是很浪費(fèi)時間的,如果事選將多個線程放到線程池中,
    有任務(wù)時取出一個線程,沒有任務(wù)時線程處于等待狀態(tài)。
    線程池:
    	1、有線程數(shù)組,存放活動線程
    	2、有一個任務(wù)列表,存放任務(wù),將任務(wù)依次取出
一、死鎖:一個線程占用一個資源,又想得到另一個線程占用的資源,只能等待。
	 另一個線程占用一個資源,又想得到前一個線程占用的資源,也只能等待。
	 這樣兩個線程出現(xiàn)死鎖。
	 public class MyThread1 extends Thread
	 {
	 	private Object resource1;
	 	private Object resource2;
	 	public MyThread1(Object resource1,Object resource2)
	 	{
	 		this.resource1=resource1;
	 		this.resource2=resource2;
	 	}
	 	public void run()
	 	{
	 		synchronized(resource1)
	 		{
	 			System.out.println("正在執(zhí)行資源1號");
	 			Thread.sleep(50);	 			
		 		synchronized(resource2)
		 		{
		 			System.out.println("正在執(zhí)行資源2號");
		 		}
	 		}
	 	}
	 }	 
	 public class MyThread2 extends Thread
	 {
	 	private Object resource1;
	 	private Object resource2;
	 	public MyThread2(Object resource1,Object resource2)
	 	{
	 		this.resource1=resource1;
	 		this.resource2=resource2;
	 	}
	 	public void run()
	 	{
	 		synchronized(resource2)
	 		{
	 			System.out.println("正在執(zhí)行資源2號");
	 			Thread.sleep(50);	 			
		 		synchronized(resource1)
		 		{
		 			System.out.println("正在執(zhí)行資源1號");
		 		}
	 		}
	 	}
	 }	
二、Timer過一段時間執(zhí)行一個線程或某一時間點(diǎn)執(zhí)行一個線程
    或隔多長時間執(zhí)行一個線程。
    1、實(shí)現(xiàn)執(zhí)行任務(wù)的線程,必須繼承于TimerTask
    	public class MyThread extends TimerTask
    	{
    		public void run()
    		{
    		
    		}
    	}
    2、通過Timer類調(diào)用
    	Timer timer=new Timer();
    	MyThread mt=new MyThread();
    	timer.schedule(mt,1000);//1秒后運(yùn)行線程mt
    	timer.schedule(mt,1000,1000);//1秒后運(yùn)行線程mt,同時每隔1秒后執(zhí)行mt
    	timer.schedule(mt,date);//某個時間點(diǎn)執(zhí)行mt
    	timer.cancel();//代表退出	

四、線程的作用
	進(jìn)程內(nèi)的并發(fā)
五、線程與進(jìn)程的區(qū)別
	共同點(diǎn):
		都是并發(fā)
	不同點(diǎn):
		進(jìn)程有獨(dú)立的內(nèi)存空間,線程沒有獨(dú)立內(nèi)存空間。
		進(jìn)程間的通信耗費(fèi)較大的資源,線程間的通信比較容易。
		進(jìn)程的并發(fā)是由線程實(shí)現(xiàn)的。
六、線程實(shí)現(xiàn)
	1、繼承于Thread類,覆蓋run()方法,通過start啟動線程,調(diào)用run方法。
	2、實(shí)現(xiàn)Runnable接口,實(shí)現(xiàn)run()方法。實(shí)例化該類,通過構(gòu)造子將其傳到一個Thread對象中
	   ,通過start啟動線程,調(diào)用run方法
七、線程的同步
	--臟讀:后一個事務(wù)用了前一個事務(wù)沒有確認(rèn)的數(shù)據(jù)
		事務(wù)1
			update buy set amount=amount+100 where buyID=1;
			rollback;
		事務(wù)2:在事務(wù)1修改但沒有執(zhí)行rollback前,執(zhí)行當(dāng)前update交提交
			update buy set amount=amount+100 where buyID=1;
			commit;
	--覆蓋更新:后一個事務(wù)將前一個事務(wù)的更新覆蓋了。
		(update一讀到就加鎖)兩個事務(wù)同時讀取,因?yàn)槭聞?wù)1所在主機(jī)速度快先更新并提交,
		   然后事務(wù)2更新并提交。
		事務(wù)1
			update buy set amount=amount+100 where buyID=1;
			commit;
		事務(wù)2:
			update buy set amount=amount+100 where buyID=1;
			commit;

臟讀就是指當(dāng)一個事務(wù)正在訪問數(shù)據(jù),并且對數(shù)據(jù)進(jìn)行了修改,而這種修改還沒有提交到數(shù)據(jù)庫中,這時,另外一個事務(wù)也訪問這個數(shù)據(jù),然后使用了這個數(shù)據(jù)。因?yàn)檫@個數(shù)據(jù)是還沒有提交的數(shù)據(jù),那么另外一個事務(wù)讀到的這個數(shù)據(jù)是臟數(shù)據(jù),依據(jù)臟數(shù)據(jù)所做的操作可能是不正確的。不可重復(fù)讀是指在一個事務(wù)內(nèi),多次讀同一數(shù)據(jù)。在這個事務(wù)還沒有結(jié)束時,另外一個事務(wù)也訪問該同一數(shù)據(jù)。那么,在第一個事務(wù)中的兩次讀數(shù)據(jù)之間,由于第二個事務(wù)的修改,那么第一個事務(wù)兩次讀到的的數(shù)據(jù)可能是不一樣的。這樣就發(fā)生了在一個事務(wù)內(nèi)兩次讀到的數(shù)據(jù)是不一樣的,因此稱為是不可重復(fù)讀。幻覺讀是指當(dāng)事務(wù)不是獨(dú)立執(zhí)行時發(fā)生的一種現(xiàn)象,例如第一個事務(wù)對一個表中的數(shù)據(jù)進(jìn)行了修改,這種修改涉及到表中的全部數(shù)據(jù)行。同時,第二個事務(wù)也修改這個表中的數(shù)據(jù),這種修改是向表中插入一行新數(shù)據(jù)。那么,以后就會發(fā)生操作第一個事務(wù)的用戶發(fā)現(xiàn)表中還有沒有修改的數(shù)據(jù)行,就好象發(fā)生了幻覺一樣。

	什么是線程同步:一個對象的一個同步方法被一個線程調(diào)用,另一個線程不管調(diào)用當(dāng)前同步方法
	         還是其它的同步方法只能等待同步方法執(zhí)行結(jié)束,調(diào)用非同步方法不影響。
	       實(shí)現(xiàn)方法:
	       	   public synchronized void a1()
	       	   {
	       	   }
	       在線程的run方法中說明是一個同步對象,調(diào)用這個對象的所有方法都是同步方法。
	      	   synchronized(co)
	      	   {
		      	co.test1();
	      	   }
	通訊的兩種方式:
		1、基于tcp/ip協(xié)議,用Sockect實(shí)現(xiàn)
			特點(diǎn):產(chǎn)生會話,穩(wěn)定,每一次交互都有確認(rèn)。

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99精品国产| 久久精品噜噜噜成人av农村| 欧美一级欧美一级在线播放| 高清成人免费视频| 日韩**一区毛片| 一区二区三区四区在线播放 | 免费观看成人鲁鲁鲁鲁鲁视频| 久久久精品人体av艺术| 欧美精品乱码久久久久久| 国产1区2区3区精品美女| 视频一区免费在线观看| 日韩毛片在线免费观看| 国产在线观看免费一区| 亚洲国产美女搞黄色| 国产精品伦理一区二区| 亚洲精品在线三区| 欧美日韩一区二区在线视频| 国产99精品在线观看| 看电影不卡的网站| 日韩精品成人一区二区在线| 亚洲另类在线制服丝袜| 国产精品久久久久影视| 国产日本一区二区| 亚洲精品一区二区三区四区高清 | 免费人成在线不卡| 亚洲精品视频免费观看| 国产精品久久久久毛片软件| 国产午夜一区二区三区| 欧美大片日本大片免费观看| 欧美高清视频不卡网| 色综合久久久久综合体| 婷婷综合久久一区二区三区| 亚洲综合在线五月| 亚洲综合精品久久| 一区二区三区蜜桃| 依依成人精品视频| 樱桃视频在线观看一区| 亚洲激情综合网| 亚洲精品乱码久久久久久| 中文字幕五月欧美| 国产传媒欧美日韩成人| 日韩中文欧美在线| 亚洲成人资源网| 香蕉久久夜色精品国产使用方法 | 久久综合国产精品| 日韩视频免费观看高清完整版 | 国产精品你懂的| 中文字幕在线观看一区二区| 中文字幕va一区二区三区| 欧美r级在线观看| 欧美精品一区在线观看| 国产色产综合色产在线视频| 中文字幕在线视频一区| 亚洲免费观看高清| 亚洲成年人影院| 麻豆精品国产91久久久久久| 国产一区二区三区观看| 成人免费毛片app| 色94色欧美sute亚洲线路一久| 在线观看www91| 欧美一区二区三区婷婷月色| 26uuu亚洲综合色| 中文字幕中文字幕在线一区 | 欧美巨大另类极品videosbest| 狂野欧美性猛交blacked| 国产精品1区2区| www.66久久| 欧美婷婷六月丁香综合色| 欧美电视剧免费全集观看| 国产欧美日韩另类视频免费观看| 一区二区三区影院| 久久国产精品色婷婷| 国产制服丝袜一区| a在线欧美一区| 91精品综合久久久久久| 欧美国产综合一区二区| 18涩涩午夜精品.www| 午夜精品久久久久久久久久 | 丁香桃色午夜亚洲一区二区三区| 91色在线porny| 91精品国产一区二区三区蜜臀 | 色综合天天综合网天天狠天天| 欧美少妇bbb| 亚洲精品成人在线| 经典三级在线一区| 色狠狠桃花综合| 久久九九影视网| 日韩av午夜在线观看| a美女胸又www黄视频久久| 69成人精品免费视频| 综合欧美一区二区三区| 久久国产欧美日韩精品| 欧美亚洲综合久久| 国产乱妇无码大片在线观看| 国产福利视频一区二区三区| 欧美日韩国产精选| 亚洲国产精华液网站w| 日av在线不卡| 欧美日韩中字一区| 亚洲欧美自拍偷拍色图| 久久99国产精品久久99果冻传媒| 色久优优欧美色久优优| 久久精品视频免费| 日韩av午夜在线观看| 在线精品亚洲一区二区不卡| 国产精品麻豆久久久| 精品一区二区三区在线播放| 欧美日韩午夜在线视频| 中文字幕亚洲视频| 国产91高潮流白浆在线麻豆| 欧美精品日韩一区| 亚洲卡通欧美制服中文| 国产精品一区二区在线播放| 51精品秘密在线观看| 亚洲欧美激情小说另类| 国产高清不卡一区二区| 精品久久久久99| 日韩影院精彩在线| 在线观看视频欧美| 国产精品色哟哟网站| 国产麻豆精品一区二区| 欧美xxx久久| 美国av一区二区| 日韩一区二区电影网| 午夜精品福利一区二区蜜股av| 色婷婷综合激情| 亚洲色大成网站www久久九九| 成人网在线播放| 久久久精品欧美丰满| 免费人成精品欧美精品| 7777女厕盗摄久久久| 夜夜亚洲天天久久| 色综合久久综合网欧美综合网| 国产精品国产三级国产| 99久久婷婷国产| 亚洲欧洲成人精品av97| 成人av网站在线观看| 久久久久久久网| 国产91精品久久久久久久网曝门| 国产日韩欧美综合一区| 粉嫩av一区二区三区| 亚洲人成影院在线观看| 日本精品视频一区二区| 亚洲国产aⅴ天堂久久| 欧美日韩aaaaa| 久久精品国产网站| 久久精品亚洲一区二区三区浴池| 国产91富婆露脸刺激对白| 亚洲欧美一区二区在线观看| 亚洲视频在线观看三级| 成人91在线观看| 亚洲一区二区欧美| 日韩视频免费观看高清完整版在线观看 | 91国在线观看| 免费的成人av| 日本一区二区在线不卡| 9i看片成人免费高清| 一区二区成人在线观看| 777欧美精品| 久草热8精品视频在线观看| 国产精品蜜臀在线观看| 欧洲生活片亚洲生活在线观看| 天天综合日日夜夜精品| 久久久久久一级片| 91免费看视频| 轻轻草成人在线| 欧美激情在线一区二区| 色94色欧美sute亚洲13| 久久精品久久久精品美女| 国产精品久久久久一区二区三区| 91麻豆国产香蕉久久精品| 一区二区三区在线观看网站| 国产真实乱对白精彩久久| 丰满岳乱妇一区二区三区| 色婷婷精品大视频在线蜜桃视频| 日本久久一区二区| 欧美成人一区二区三区片免费 | 欧美日韩成人综合天天影院| 久久黄色级2电影| 国产精品家庭影院| 欧美一区午夜精品| 成人黄色综合网站| 亚洲妇女屁股眼交7| 国产欧美精品国产国产专区| 欧美日韩另类一区| 成人免费的视频| 青青国产91久久久久久| 最新日韩av在线| 欧美成人精品3d动漫h| 在线看国产一区二区| 成人天堂资源www在线| 成人欧美一区二区三区1314| 在线观看不卡一区| 欧美aaaaa成人免费观看视频| 亚洲欧洲性图库| 欧美精品一区二区久久婷婷| 欧美视频你懂的| 欧美电视剧在线观看完整版| 久久精品国产精品亚洲精品| 国产亚洲一区二区三区|