You are on page 1of 4

18/07/2012

Tm hiu Thread trong JAVA-Phn 1 Mobilesprogramming's Blog

Mobilesprogramming's Blog
JAVA | SYMBIAN | ANDROID

Tm hiu Thread trong JAVA-Phn 1


Bi 1: Gii thiu v Thread ng b(Concurrency) My tnh ngy ny cho php ta s dng mt lc nhiu ng dng, chng hn nh bn va nghe nhc, va nh vn bn word, va download nhcHay thm ch l mt ng dng n cng thc hin nhiu task cng mt thi im. V d, trnh son tho vn bn word, n lun lun sn sng p ng cc s kin v keyboard v mouse, n va phi reformat text v cp nht li mn hnh. Cc phn mm lm nhng task nh vy gi l phn mm ng b. Java platform cng c thi k h tr lp trnh ng b, vi h tr v ngn ng lp trnh Java v cc th vin lp Java. T phin bn 5.0 tr i, java platform cng c cc API ng b high-level. Processes v Thread Trong lp trnh ng b, c 2 n v thc thi c bn: tin trnh(process) v lung(thread). Trong ngn ng lp trnh Java, lp trnh ng b ch yu lin quan n thread. Tuy nhin, cc tin trnh cng rt quan trng. Cc h thng my tnh thng thng c nhiu tin trnh v thread hot ng. Thm ch iu ny cng ng trong cc h thng ch c mt li(core) thc thi duy nht, v v th ch c mt thread thc s thc hin ti bt k thi im. Thi gian x l cho mt li duy nht c chia s gia cc tin trnh v thread thng qua mt tnh nng ca h iu hnh gi l thi gian slicing. N ngy cng ph bin cho cc h thng my tnh c nhiu b x l hay b vi x l vi nhiu li thc hin. iu ny gip tng cng kh nng thc hin ng thi cc tin trnh v thread ca h thng thm ch c th thc hin ng thi trn cc h thng n gin, khng c nhiu b x l li hoc thc hin. Cc tin trnh(Processes) Mt tin trnh c mt mi trng thc thi khp kn. Thng thng, mt tin trnh thng c mt tp cc ti nguyn run-time c bn c quyn, v mi tin trnh c b nh khng gian ring ca mnh. Cc tin trnh thng c xem nh cc chng trnh hay cc ng dng. Tuy nhin, nhng g m ngi dng thy nh l mt ng dng n gm nhiu tin trnh cng hot ng. to thun li trong vic giao tip gia cc tin trnh, hu ht cc h iu iu hnh u h tr cc ti nguyn Inter Process Communication(IPC), nh pipe hay socket. IPC khng ch c s dng giao tin gia
mobilesprogramming.wordpress.com/2010/01/15/tim-hiu-thread-trong-java-phn-1/ 1/4

18/07/2012

Tm hiu Thread trong JAVA-Phn 1 Mobilesprogramming's Blog

cc tin trnh trong cng mt h thng, m cn gia cc tin trnh trn cc h thng khc nhau. Hu ht thc thi ca my o Java chy nh l mt tin trnh n. Mt ng dng Java c th to ra cc tin trnh b xung bng cch s dng i tng ProcessBuilder. Thread i khi cc thread cn c gi l cc tin trnh lightweight. C tin trnh v thread u cung cp mt mi trng thc thi, nhng to ra mt thread mi yu cu ti nguyn t hn l to ra mt tin trnh mi. Cc thread tn ti trong mt tin trnh- mi tin trnh c ti thiu mt thread. Cc thread chia s cng mt ti nguyn ca tin trnh, bao gm b nh v cc file m. iu ny lm cho giao tip hiu qu nhng li tim n bn trong n cc vn v x l tranh chp ti nguyn gia cc thread. MultiThread Cc ngn ng lp trnh thng thng khng cho php ngi lp trnh thc hin nhiu cng vic cng mt lc. Thay vo , cung cp cc iu khin m ch cho php ngi lp trnh thc hin mt cng vic ti mt thi im, l ch cho php thc hin cng vic tip theo sau khi hon tt cng vic trc . Java cho php ngi lp trnh thc hin nhiu cng vic thng qua API ca n. Ngi lp trnh c th to Thread thc thi, trong mi thread c phn chia nh l mt phn ca chng trnh v c th thc thi ng thi vi cc Thread khc, iu ny c gi l Multiple Thread. Hu ht cc h iu hnh ngy nay u c nhiu hn mt thread chy ng thi ti cng mt thi im bn trong mt tin trnh. Khi my o Java(JavaVM) chy trn cc h iu hnh , mt tin trnh mi cng c to ra. Bn trong tin trnh , c nhiu thread c th c to ra. Thng thng, bn ngh cc on m Java bt u thc thi trong phng thc main() v tin hnh ti mt ng dn thng qua chng trnh. y ch l mt v d v thread n. Thread chnh c sinh ra bi JavaVM, m bt u thc thi vi phng thc main, n thc thi tt c statement trong phng thc main(), v n cht khi phng thc main() c hon tt. Mt thread th hai lun lun chy trong JavaVM, l b dn rc(garbage collection), n dn dp cc i tng v khi phc li b nh. V vy, khi bn vit mt on m java n gin l System.out.println(Xin cho) th n cng c chy trn mi trng multithread, l main thread v garbage collention thread. Khi mt chng trnh Java bo gm mt giao din ngi dng ha(GUI), th JavaVM to ra nhiu thread. Mt trong cc thread ny ph trch cung cp cc s kin GUI cho cc phng thc trong chng trnh, cn thread khc chu trch nhim v v ca s GUI. V d: ta c mt chng trnh da trn GUI, vi mt thread tnh ton ang thc thi cc cng vic tnh ton phc tp v di hn, v trong khi iu ny ang din ra, ngi dng nhn nt Stop. GUI event thread ngay sau s gi cc s kin x l code tng ng cho nt nhn Stop, cho php thread tnh ton kt thc. Nu chng trnh ny ch c mt thread, th c hai khng th thc thi cng lc, v s gy ra tnh trng gin on. Thc thi multithread cng l mt c im thit yu ca Java platform. Mt ng dng u c ti thiu mt thread-hay nhiu nu bn m cc thread h thng lm nhng vic nh qun l b nh v x l tn hiu. Tuy nhin, nu ng trn quan im ca ngi pht trin ng dng, bn ch bt u vi mt thread, v c gi l main thread. V thread ny c kh nng to ra cc thread b xung, v s c cp trong nhng phn tip theo. Thread Objects Mi thread c lin kt vi mt th hin ca lp Thread. C hai chin lc c bn cho vic s
mobilesprogramming.wordpress.com/2010/01/15/tim-hiu-thread-trong-java-phn-1/ 2/4

18/07/2012

Tm hiu Thread trong JAVA-Phn 1 Mobilesprogramming's Blog

dng cc i tng Thread to ra mt ng dng ng thi. iu khin trc tip khi to ra thread v qun l n, n gin l khi to thread mi lc ng dng cn bt u mt task khng ng b. Qun l thread tru tng t ti nguyn ca ng dng, a cc task ca ng dng vo mt b thc thi(executor). Cc bi lin quan: Tm hiu Thread trong JAVA-Phn 2 01/15/2010 mobilesprogramming Categories: Thread Tags: java thread

2 responses to Tm hiu Thread trong JAVA-Phn 1


Nguyn Anh c March 30th, 2010 at 16:13 3 0 i Rate This Cm n bn v bi vit rt hay v b ch Mong bn sm vit tip thm p2 cho mi ngi c th hc tp v tham kho Reply Quang April 7th, 2011 at 14:25 3 0 i Rate This Cm n v bi vit, mnh ang rt cn, tks so much!
mobilesprogramming.wordpress.com/2010/01/15/tim-hiu-thread-trong-java-phn-1/ 3/4

18/07/2012

Tm hiu Thread trong JAVA-Phn 1 Mobilesprogramming's Blog

Reply

Blog at WordPress.com. | Theme: Dark Wood by Nischal Maniar.

mobilesprogramming.wordpress.com/2010/01/15/tim-hiu-thread-trong-java-phn-1/

4/4

You might also like