<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    姿姿霸霸~~!
    貴在堅持!
    posts - 106,  comments - 50,  trackbacks - 0

    先來個小總結:

    yield()使當前線程暫停。但設置了setPriority(Thread.MAX_PRIORITY);時,yield()不咋管用了。

    一般只需要重寫run()方法的話,實現runnalbe接口比較方便。

    如果在進程類里面需要訪問同一個變量的話,就實現接口。如果用繼承類的話,同一個變量就有幾份的拷貝。但是內部類繼承類的結和繼承接口的效果一樣。

    啟動一個線程
    MyThread mt=new MyThread();
    new Thread(mt).start();

    好多東西都有時間片。時間片是個不確定的東西。

    當調用wait(),notify()方法時,應該保證他們是同一個對象sy也要同一個對象。synchronized 中 才能有wait(),notify()方法。

    synchronized(Object obj)與synchronized(this)的區別?!(誰能告訴我!!!!!)


    下面是生產者與消費者的例子,為了方便,幾個類直接寫在一起了。


    //new 生產者,消費者,隊列。并起用生產者,消費者的線程
    public class Test {

    ?public static void main(String[] args) {

    ??Queue q = new Queue();
    ??Producer p = new Producer(q);
    ??Consumer c = new Consumer(q);
    ??p.start();
    ??c.start();
    ?}
    }

    //生產者,每生產好一個東西后,就往隊列中放一個
    class Producer extends Thread {

    ?Queue q;

    ?Producer(Queue q) {
    ??this.q = q;
    ?}

    ?public void run() {
    ??for (int i = 0; i < 10; i++) {
    ???q.setValue(i);
    ???System.out.println("Producer put:" + i);
    ??}
    ?}
    }

    //消費者,每當隊列中有東西通知時,就從隊列去拿
    class Consumer extends Thread {

    ?Queue q;

    ?Consumer(Queue q) {
    ??this.q = q;
    ?}

    ?public void run() {
    ??while (true) {
    ???System.out.println("Consumer get:" + q.getValue());
    ??}
    ?}
    }

    //隊列
    class Queue {

    ?int value;
    ?boolean flag = false;

    ?//生產者往這放它所生產的東西
    ?public synchronized void setValue(int i) {
    ??//當生產好一個往隊列中放了后,放置一個標志。發個通知,告訴說生產好了,并等待消費者來拿
    ??if (!flag) {
    ???value = i;
    ???flag = true;
    ???notify();
    ??}
    ??try {
    ???wait();
    ??} catch (InterruptedException e) {
    ???e.printStackTrace();
    ??}
    ?}

    ?//消費者從這獲取東西
    ?public synchronized int getValue() {
    ??//消費這先判斷隊列是否有東西了,有的話,就讓其他線程等待,自己取拿,拿好后設置一個標志,發個通告告訴其他線程,我拿好了
    ??if (!flag) {
    ???try {
    ????wait();
    ???} catch (InterruptedException e) {
    ????e.printStackTrace();
    ???}
    ??}
    ??flag = false;
    ??notify();
    ??return value;
    ?}
    }

    posted on 2007-01-15 00:27 xrzp 閱讀(845) 評論(0)  編輯  收藏 所屬分類: JAVA

    <2007年1月>
    31123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    常用鏈接

    留言簿(4)

    隨筆分類

    隨筆檔案

    好友的blog

    搜索

    •  

    積分與排名

    • 積分 - 117390
    • 排名 - 500

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲精品无码午夜福利中文字幕| 免费人成在线观看播放a| aaa毛片视频免费观看| 久久久久亚洲精品无码网址 | 欧洲亚洲综合一区二区三区| www成人免费视频| 91短视频在线免费观看| 无码国模国产在线观看免费| 亚洲中文无码卡通动漫野外| 成人免费视频小说| 久久亚洲AV无码精品色午夜麻| 今天免费中文字幕视频| 免费国产不卡午夜福在线| 久久精品国产亚洲av天美18| 国产在线a不卡免费视频| 又大又硬又粗又黄的视频免费看| 亚洲精品在线免费观看视频| 亚洲a级在线观看| 成人永久免费高清| 一级做a爱过程免费视频高清| 伊人亚洲综合青草青草久热| 国产在线观看免费视频软件 | 99re6在线视频精品免费| 波多野结衣久久高清免费 | 亚洲图片一区二区| 在线播放国产不卡免费视频| 伊伊人成亚洲综合人网7777| 久久99精品免费视频| 亚洲成?Ⅴ人在线观看无码| 亚洲一区二区三区亚瑟| 日韩一级视频免费观看| 中文字幕看片在线a免费| 亚洲性日韩精品国产一区二区| 亚洲s码欧洲m码吹潮| 亚洲中久无码永久在线观看同| 免费无码又爽又刺激高潮视频| 亚洲日韩精品无码专区加勒比☆| 亚洲国产婷婷香蕉久久久久久| 亚洲1区2区3区精华液| 永久黄网站色视频免费直播| 成全视频在线观看免费|