熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java高級技術 >> 正文

Java程序開發中如何應用線程[2]

2022-06-13   來源: Java高級技術 

    這樣例如你想改變label組件的文字你不能僅僅調用jlabel的settext方法相反你必須確認settext調用發生在事件處理線程中而這正是javaxswingtime類派的上用場的地方

    為了說明這第二種情況下面的程序顯示一個增加的計數器的值美半秒鐘計數器的數值增加並且新的數值被顯示

 
importjavaxswing*;
  importjavaawt*;
  importjavaawtevent*;
  
  publicclasscount
  {
  publicstaticvoid
  main(stringargs)
  {
  finalstringurlstring=args;
  finalstringmessage=args;
  threadthread=newthread()
  {
  publicvoidrun()
  {
  try
  {
  urlurl=newurl(urlstring);
  urlconnectionconnection=
  urlopenconnection();
  inputstreamreaderisr=new
  inputstreamreader(
  connectiongetinputstream());
  bufferedreaderreader=
  newbufferedreader(isr);
  intcount=;
  while(readerread()!=)
  {
  count++;
  }
  systemoutprintln(sizeis:
  +count);
  readerclose();
  }catch(malformedurlexceptione)
  {
  systemerrprintln(badurl:
  +urlstring);
  }catch(ioexceptione)
  {
  systemerrprintln
  (i/oproblems);
  }
  }
  };
  threadstart();
  runnablerunnable=newrunnable()
  {
  publicvoidrun()
  {
  while(true)
  {
  systemoutprintln(message);
  try
  {
  threadsleep();
  }catch(interruptedexceptione)
  {
  }
  }
  }
  };
  threadthread=newthread(runnable);
  threadstart();
  try{
  systemoutprintln
  (pressentertostop);
  systeminread(newbyte);
  }catch(ioexceptione)
  {
  systemoutprintln(i/oproblems);
  }
  systemexit();
  }
  }

    因為有多種方式來處理線程你選用哪種技術取決於你和你面臨的條件要成為一個有效的java編程人員盡管你通常不必學習java編程語言的所有內容和核心庫但是線程是一個例外你越早了解線程如何工作和如何使用線程你將越早了解java程序如何工作和交互

[]  []  


From:http://tw.wingwit.com/Article/program/Java/gj/201311/27734.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.