日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

菜鳥初學(xué)Java的備忘錄(八)

瀏覽:196日期:2024-06-25 14:42:23
內(nèi)容: 我在22號的筆記中不是有一個疑問嗎?為什么我編的程序沒有不同步的現(xiàn)象產(chǎn)生呢,我把它發(fā)到csdn上去了,現(xiàn)在我已經(jīng)基本解決這個問題了,下面是論壇的回復(fù)紀錄摘要回復(fù)人:bluesmile979(笑著) ( ) 信譽:100 2003-01-22 21:08:00 得分:0 說說我的看法,我認為最大的問題在于多線程,看了你的代碼,好像只有兩個線成了。而例子中應(yīng)該是比較多的線程,多個線程競爭時間片,被打斷的幾率自然就大得多了。就算你加了循環(huán),由于機器的運算速度,仍然沒有多個線程競爭那么現(xiàn)象明顯。不知道各位以為如何。回復(fù)人:xm4014(forrest) ( ) 信譽:100 2003-01-22 22:07:00 得分:0 to bluesmile979(笑著) 我也曾經(jīng)想到過是否因為線程太少而導(dǎo)致,但是我將Think in java的例程中的兩個參數(shù)都設(shè)為1來運行,那么最后也就和我寫的程序一樣,只有兩個線程,結(jié)果照樣有不同步.這又怎么解釋呢回復(fù)人:tianfeichen(側(cè)耳傾聽) ( ) 信譽:110 2003-01-22 23:57:00 得分:0 線程的安排畢竟是隨機的,很少會有不同步的出現(xiàn),次數(shù)少了不容易發(fā)現(xiàn)。我常用的方法是,先讓無限循環(huán)開始,循環(huán)的時候也不要求輸出什么的,只加上一個停止的條件,比如:if (counter1 != counter2){ System.out.println(counter1 + ' ,' + counter2) System.exit(0);}剩下的就是等了,一般十幾秒甚至幾秒就出結(jié)果了,可以發(fā)現(xiàn)記數(shù)已經(jīng)到幾十萬或者幾百萬了。如果同時開了5個線程,等了一分鐘,我就算是它同步了。我的方法可能不太科學(xué),不過效果挺好。回復(fù)人: xm4014(forrest) ( ) 信譽:100 2003-01-23 11:44:00 得分:0 可以幫我調(diào)試一下嗎?為什么我按照你的方法卻始終沒有得到結(jié)果呢?將下面的代碼直接拷貝就可以了,程序名為Sharing2.java,版本是1.4.1class TwoCounter extends Thread { private int count1 = 0, count2 = 0; private boolean started=false; public void start(){ if (!started) { started=true; super.start(); } } public void run() { while (true) { count1++; count2++;// System.out.println('Count1='+count1+',Count2='+count2); try { sleep(500); } catch (InterruptedException e){System.out.println('TwoCounter.run');} } } public void synchTest() {// Sharing2.incrementAccess(); if(count1 != count2) {System.out.println(count1+','+count2); System.exit(0); } }}class Watcher extends Thread { private Sharing2 p; public Watcher(Sharing2 p) { this.p = p; start(); } public void run() { while(true) { p.s.synchTest(); try { sleep(500); } catch (InterruptedException e){System.out.println('Watcher.run');} } }}public class Sharing2 { TwoCounter s; private static int accessCount = 0; public static void incrementAccess() {// accessCount++;// System.out.println('accessCount='+accessCount); } public static void main(String[] args) { Sharing2 aaa = new Sharing2(); aaa.s=new TwoCounter(); aaa.s.start(); new Watcher(aaa); }} ///:~另外,根據(jù)你的意思,我的程序是沒有問題的,只是線程少了,不同步很難產(chǎn)生,要等到counter增加到很大數(shù)目的時候才有可能,對嗎?回復(fù)人: hey_you(Hey) ( ) 信譽:100 2003-01-23 13:27:00 得分:0 我是這樣想的:不同步而發(fā)生沖突是一種可能性,而sychronize是讓這種可能性為0。你沒有1發(fā)現(xiàn)不同步,并不能證明永遠都不會發(fā)生不同步的情況,那只是一個時間問題。系統(tǒng)對線程的調(diào)度受了環(huán)境的影響,要是你機器上同時還跑了很多程序,可能情況就不同了。回復(fù)人: xm4014(forrest) ( ) 信譽:100 2003-01-23 15:56:00 得分:0 呵呵,我用tianfeichen(側(cè)耳傾聽)的方法運行的程序,也就是我上面貼的代碼居然有結(jié)果了,counter1= 217327,counter2=217356,還真想差的不少。但是時間上絕不是一兩分鐘那么簡單,至少過了兩個小時,可能真是我和他的運行環(huán)境的不同造成的.正如hey_you(Hey)所說,只是一個時間問題.希望其它人能給出更多的看法,如果覺得沒必要再討論下去,那我就接貼.回復(fù)人: bluesmile979(笑著) ( ) 信譽:100 2003-01-23 16:38:00 得分:0 我考,一兩個小時你也能堅持,服了。我認為問題結(jié)果也就兩點了。一個就是我認為的線程數(shù)量另一個就是你認為的setText會有比較多的處理,占用比較多的資源。兩種情況都會影響到這個問題的出現(xiàn)幾率:)樓主宰總結(jié)一下吧,呵呵。回復(fù)人: linliangyi(藍山咖啡) ( ) 信譽:100 2003-01-23 17:10:00 得分:0 sleep(500)占用的時間勝過for(5000)的時間,因此線程在sleep中被切換的概率遠勝于在for中被中斷的概率!!(回頭去看我的程序就知道了)事實上,兩個變量從不相等變?yōu)橄嗟龋钦f明了不同步!!順便說一下關(guān)于swing和awt控件在線程中操作時,比如setText,常造成很多意外樓主可以看看相關(guān)的書籍!!回復(fù)人: xm4014(forrest) ( ) 信譽:100 2003-01-24 14:25:00 得分:0 我將各位的觀點綜合起來總結(jié)一下:首先要肯定的是,假如不使用synchronized關(guān)鍵字來定義同步方法或者定義同步塊,那么,發(fā)生不同步的可能是絕對存在的,反過來說,synchronized就是讓這種可能性為0.在第一種情況下,發(fā)生不同步的可能雖然存在,但是它的幾率受到以下幾個方面因素的影響1.在不同的操作系統(tǒng)及運行環(huán)境下,捕捉到不同步的幾率可能就不一樣,或者說等待的時間可能就有長有短2.程序中線程數(shù)目的多寡,如果線程太少,那么這種不同步就難于捕捉到,可能需要等待很長的時間3.代碼本身的影響.比如使用awt類中涉及到GUI的方法,可能就會占用較多的資源,造成很多意外,那么發(fā)生沖突的可能性就大得多4.線程是由操作系統(tǒng)隨機分配的,本來就存在著不確定性,這種不確定性也會影響最后的結(jié)果不知道是否正確,大家還有什么補充呢?明天正式結(jié)帖不過說實話,我有點搞不懂,為什么最后的結(jié)果,counter1(217327)和counter2(217356)會相差那么多呢.按照我的程序,即便watcher線程插到兩個自加的語句中間來,檢測到的這兩個計數(shù)器之間的差異頂多也就是1啊.出現(xiàn)這么大的差異,只可能是某一個計數(shù)器的自加語句有好多次在根本沒有運行的情況下就被強行中斷了.這就太恐怖了!雖然有其它線程的存在會干擾當前線程,但是也不至于讓當前線程語句不運行吧,最多也就是等等再運行啊?我有點糊涂了,操作系統(tǒng)沒學(xué)好,如果大家不嫌麻煩,清幫我解釋一下吧結(jié)果現(xiàn)在又有新的問題,我想又要等到明天才有答案吧但我們今天可以解決另一個涉及到synchronized的問題.這是我在論壇上看到的一個貼子.正是因為我解決不了,我才認為有必要回頭來好好研究線程和同步等內(nèi)容的.問題如下:file://分析這段程序,并解釋一下,著重講講synchronized、wait(),notify 謝謝!class ThreadA { public static void main(String[] args) { ThreadB b=new ThreadB(); b.start(); System.out.println('b is start....'); synchronized(b)//括號里的b是什么意思,起什么作用? { try { System.out.println('Waiting for b to complete...'); b.wait();//這一句是什么意思,究竟讓誰wait? System.out.println('Completed.Now back to main thread'); }catch (InterruptedException e){} } System.out.println('Total is :'+b.total); }}class ThreadB extends Thread{ int total; public void run() { synchronized(this) { System.out.println('ThreadB is running..'); for (int i=0;i
標簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲91视频| 亚洲制服欧美另类| 国户精品久久久久久久久久久不卡| 国产精品日本| 国产在线一区不卡| 亚洲一区av| 国产91久久精品一区二区| 乱一区二区av| 国产精品啊啊啊| 亚洲精品乱码久久久久久蜜桃麻豆| 中文字幕在线看片| 日韩和欧美的一区| 日本亚洲欧美天堂免费| 美美哒免费高清在线观看视频一区二区| 日韩av一级| 欧美一区二区三区高清视频 | 国产另类在线| 91成人在线网站| 欧美天堂一区| 欧美aa在线视频| 国产极品嫩模在线观看91精品| 国产精品天堂蜜av在线播放| 国产麻豆精品| 日韩成人一级| 国产福利亚洲| av高清一区| 亚洲精品小说| 免费视频最近日韩| 国产精品99久久免费观看| 高清在线一区| 尤物tv在线精品| 亚洲精品国产日韩| 久久中文字幕导航| 国产午夜精品一区在线观看| 精品1区2区3区4区| 国产亚洲精品美女久久| 精品视频免费| 91精品在线观看国产| 日本综合字幕| 欧美成人综合| 久久要要av| 欧美特黄a级高清免费大片a级| av资源中文在线| 香蕉人人精品| 日本aⅴ免费视频一区二区三区| 国产伦一区二区三区| 国产精品久久国产愉拍| 日产欧产美韩系列久久99| 日韩一区网站| 国产欧美另类| 麻豆精品蜜桃| 日韩精品久久久久久久软件91| 久久99国产精品视频| 日韩88av| 亚洲欧洲专区| 国产福利片在线观看| 国产精品igao视频网网址不卡日韩 | 精品不卡一区| 石原莉奈一区二区三区在线观看| 美女视频黄久久| 日本不卡高清| 欧美成人精品午夜一区二区| 激情综合网址| 国产乱码精品| 99久久亚洲精品蜜臀| 日本99精品| 久久一区精品| 免费观看在线综合| 神马久久午夜| 国产精品**亚洲精品| 久久福利影视| 成人va天堂| 国产精品极品国产中出| 少妇精品久久久一区二区三区| 国产精选在线| 日韩1区2区日韩1区2区| 中文字幕成人| 日韩a一区二区| 在线观看视频免费一区二区三区| 日本精品国产| 免费日韩精品中文字幕视频在线| 福利视频一区| 欧美日韩一区自拍| 亚洲一区二区三区免费在线观看| 高清不卡一区| 国产精品一线天粉嫩av| 久久成人国产| 午夜在线一区二区| 麻豆成人在线| 蜜桃av一区二区三区电影| 老司机精品久久| 在线亚洲观看| 国产精品日韩欧美一区| 在线看片福利| 蜜桃伊人久久| 精品国产乱码久久久久久樱花| 在线精品观看| 日韩二区三区在线观看| 日韩精品三区四区| 国产精品三p一区二区| 日韩和欧美一区二区三区| 麻豆精品91| 欧美有码在线| 久久精品亚洲欧美日韩精品中文字幕| 99精品美女| 国产精品日本| 日韩高清二区| 日产精品一区二区| 欧美日韩中文字幕一区二区三区| 久久在线免费| 亚洲最大av| 国产在视频一区二区三区吞精| 日韩电影二区| 亚洲精品成人一区| 97精品97| 蜜臀a∨国产成人精品| 国产探花在线精品| 伊人久久av| 日本高清久久| 欧美午夜不卡| 在线天堂中文资源最新版| 国产精品免费99久久久| 狠狠久久婷婷| 亚洲毛片一区| 日韩欧美国产精品综合嫩v| 亚洲欧洲av| 三上悠亚国产精品一区二区三区| 视频一区在线播放| 久久精品国内一区二区三区水蜜桃| 日韩免费高清| 国产精品v日韩精品v欧美精品网站 | 亚洲黄页一区| 五月激情久久| 国产精品毛片视频| 久久一区精品| 日韩欧美午夜| 激情五月色综合国产精品| 蜜桃国内精品久久久久软件9| 欧美专区一区二区三区| 亚洲最大av| 欧美亚洲二区| 麻豆精品在线视频| 四虎成人av| 亚洲激情二区| 国产精品自在| 日韩亚洲一区在线| 国产传媒av在线| 欧洲精品一区二区三区| 欧美久久精品一级c片| 一区二区国产在线| 蜜桃一区二区三区在线观看| 亚洲一区二区三区四区五区午夜 | 日韩高清在线不卡| 卡一卡二国产精品| 伊人久久大香线蕉av不卡| 亚洲精一区二区三区| 亚洲四虎影院| 精品久久中文| 久久亚洲色图| 日韩高清在线不卡| 国产一区福利| 欧美91福利在线观看| 男人的天堂久久精品| 国产精品极品在线观看| 国产一区二区精品久| 日韩欧美另类一区二区| 亚洲欧美日韩专区| 久久中文字幕导航| 国产伊人精品| 欧美久久精品| 久久精品播放| 国产精品亲子伦av一区二区三区 | www.com.cn成人| 久久高清国产| 国产一区二区三区久久| 亚洲天堂1区| 不卡在线一区| 欧美黄色一区二区| 丝袜诱惑制服诱惑色一区在线观看| 欧美日本不卡| 日韩在线观看一区二区| 91视频精品| 少妇精品在线| 自拍日韩欧美| 午夜精品久久久久久久久久蜜桃| 中文字幕免费精品| 中文在线中文资源| 国产精品一区二区av交换 | 国产在线日韩| 日韩一区二区三区免费| 日韩精彩视频在线观看| 久久国产精品毛片| 亚洲精品99| 亚洲91精品| 国产h片在线观看| 里番精品3d一二三区| 日本不卡在线视频| 亚洲精品观看| 久久精品超碰| 国产伦精品一区二区三区视频|