第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

這段代碼出現(xiàn)線程死鎖了嗎?如果有是什么原因?

這段代碼出現(xiàn)線程死鎖了嗎?如果有是什么原因?

素胚勾勒不出你 2019-03-20 18:19:06
Film.javapackage FilmTest;public class Film {    private String name;    private boolean flag = true;      public synchronized void play(String name) {          if(!flag){              try {                this.wait();            } catch (InterruptedException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }          }          try {            Thread.sleep(500);        } catch (InterruptedException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }          System.out.println("producer-1"+name);          this.name = name;         // System.out.println(name);          this.notify();          this.flag = false;      }      Player.javapackage FilmTest;public class Player implements Runnable {    private Film film;    public Player(Film film) {        // TODO Auto-generated constructor stub     this.film = film;    }    @Override    public void run() {        // TODO Auto-generated method stub        for(int i=0;i<20;i++){            if(0==i%2){                film.play("film-1-"+i);            }else{                film.play("film-2-"+i);            }                    }    }}Watcher.javapackage FilmTest;public class Watcher implements Runnable {    private Film film;    public Watcher(Film film) {        super();        this.film = film;    }    @Override    public void run() {        film.watch();    }}MainTest.javapackage FilmTest;public class MainTest {    /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub        Film film = new Film();        Player player = new Player(film);        Watcher watcher = new Watcher(film);        new Thread(player).start();        new Thread(watcher).start();    }}執(zhí)行結(jié)果如下, 出現(xiàn)下面內(nèi)容代碼還是運行狀態(tài)producer-1film-1-0watcher-2film-1-0producer-1film-2-1感覺出現(xiàn)了死鎖 ,但不知道問題出在哪里,求指教
查看完整描述

2 回答

?
慕姐8265434

TA貢獻(xiàn)1813條經(jīng)驗 獲得超2個贊

這不是死鎖啊,是你的代碼有問題。
你打印了producer-1film-2-1之后,flag = false,那么在你下次執(zhí)行play方法的時候會執(zhí)行this.wait(),并且之后它不會被喚醒,一直處于wait狀態(tài)。所以之后沒有任何打印信息輸出。

查看完整回答
反對 回復(fù) 2019-04-18
  • 2 回答
  • 0 關(guān)注
  • 476 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號