You are on page 1of 6

Thng thuong, khi chung ta su dung mt may tinh, chung ti mun d co th lam mt vai

diu cung mt luc - vitmt buc thu, doc e-mail, chay mt tinh toan dai va trinh duyt Web, vi
du. Chung tico th mun co mt may chu d lam hang ngan thu cung mt luc (xu ly cac yu
cudng thoi tunhiu khach hang). D kt thuc nay, hu ht cac h diu hanh cho phep da
nhim: mi chuong trinhchay nhu mt qua trinh dc lp voi khu vuc bao v tu co cua code
(huong dn chuong trinh)va du liu (cac bin chuong trinh).
Mt s ngn ngu lp trinh cho phep chung ta thuc hin nhiu nhim vu trong mt qua
trinh duy nht.
Nhung nhim vu nay thuong duoc goi la chu d thuc hin hoc chi chu d. Thng thuong, mi
Chu d dai din cho mt hoat dng trong chuong trinh, chay song song voi cac hoat dng khac.
Trong phn nay, chung ti s kim tra cac vn d xung quanh da lung va lam th naochung ta
co thlam cho m cua chung ti thread-an toan (diu nay hoa ra la quan trong nht di voicac lop
kinh doanh).


10.8.1 Kim sot Nhiu Nhim v
Mi qua trinh duoc quan ly boi h diu hanh co th duoc nhan ri (cho doi chonguoi dung nhp
vao co l)hoc hoat dng (thuc hin mt s tinh toan). Boi vi chung ta thuong co nhiu qua trinh
CPU, h diu hanh phai chia se thoi gian cua CPU giua cac qua trinh hoat dng:h diu
hanh cho phep mi qua trinh chay cho mt s luong nho cua thoi gian va sau do chuyn
k tip. -Ct lat thoi gian nay duoc diu khin boi mt phn cua phn mm duoc goila mt lich
trinh. Chung tikhng cn bit cac chi tit cua cac thut toan lp lich su dung d phn phi cua CPU
thoi gian giua cac qua trinh - chung ta chi co th gia dinh rng mi qua trinh duocchia se cng bng cua
no. La mt phuco so, hu ht cac h diu hanh cho phep chung ta chi dinh mt uu tin cho mi qua
trinh, do do mt squa trinh nhn duoc nhiu thoi gian hon nhung nguoi khac. Vi du, chung ti co th
cung cp cho mt caouu tin phat hin cua cac nhp chut chut va mt uu tin thp hon d ung dung
nguoi dung.
Mc du bt ky h diu hanh phong nha s ngn chn qua trinh truy cp khacm va du liu, do
la cng vic cua lp trinh vin d dam bao rng truy cp vao ngun luc bn ngoai(chng han nhu cac tp
tin va co so du liu) duoc quan ly mt cach hop ly. Vi du, khimt b xu ly tumo ra mt tp tin, no co
th khoa cac tp tin d ngn chn cac qua trinh khac chinh sua no o cung mtthoi gian, dng thoi truy cp
vao mt ngun tai nguyn chia se nhu mt co so du liuthuong duoc kim soat thng qua mt su kt hop
cua quan ly giao dich va cac quy tc kinh doanh.
Tu quan dim cua mt nguoi dung ca nhn, da nhim cho phep chung ta co nhiu ung dung dang
mo cung mt luc trn may tinh d ban cua chung ti. Chung ta co thchuyn di giua cac ung dung
s lam mt diu tai mt thoi dim, hoc dt ra mt s nhim vu cung mt luc, mi trong s do xut hin
d kt thuc mt cach dc lp. Da nhim cng co loi th, co dt ra mt thoi gian dai tinh
toan, chung ti khng phai cho doi cho dn khi no kt thuc truoc khi chung ti lam diu gi do khac: vi du,
trong khi chung ti dang cho doi cho mt tim kim Internet d hoan thanh, chung ta co th kim tra thoi
gian hoc thu thp cua chung ti tin nhn.
Tu quan dim may chu, cng nhu co th phuc vu nhiu khach hang cung mt luc,da nhim cho chung
ta thng luong tt hon (may chu giao dich voi khach hang hiu qua hon). Di voivi du, hy tuong
tuong rng mt kich ban duoc goi la search.pl duoc su dung dthuc hin tim kim trn Internet qua
TML / CGI. Mt s tim kim cua khach hang ban hanh s thuc hin mt cach nhanh chong, trong mili
giy co l,trong khi nhung nguoi khac s mt vai giy. Nu mt khach hang bt du mt timkim lu dai
va sau do duoc mt phuong phap don giantim kim dn tu mt khach hang, tim kim thu hai co th thuc
thi ngay lp tuc, ma khng cn cho doi cho mt trong nhung du tin hoan thanh.

10.8.2 Kim sot Nhiu Luong:

Chu d khac nhau tu cac qua trinh trong tt ca ho du chia se cung mt khu vuc du
liu trong pham vi cua ho qua trinh. Vi vy, cng nhu bao v cac ngun luc bn ngoai, lp trinh d bao v
ni b du liu. (M vung bn trong mi qua trinh binh thuong n tu cac chu d cua
thoi gian chay h thng, vi vy chung ti khng cn phai thuc hin bt ky cac buoc dc bit d bao v
no) Trong tt ca cac khia canh khac.chu d chi la mini-quy trinh: ho dang kim soat boi mt lich trinh va
chung ti co th chi dinh khac nhauuu tin cho ho.
Tu mt dim khach hang cua, da lung co nhung uu dim sau dy:

Nguoi dung co th chay nhiu ung dung cung mt luc va lam nhiu vic trong mtdon
ung dung: vi du, trong mt qua trinh e-mail duy nht, chung ta co th chinh sua mt tinnhn, thng bao
khi thu moi dn, xem mt chic dng h thoi gian thuc, va do do trn.

Nguoi dung co th tuong tac voi giao din nguoi dung ngay ca khi ung dung duocbn rn. Vi du,
hy tuong tuong mt cng cu truy vn co so du liu ma nguoi su dung cac loaitrong mt truy
vn va nhn Ly nut, sau do, trong khi truy vn duoc thuc hin, nguoi dung thng bao rng ho d thuc
hin mt li chinh ta sai lm trong truy vn. Nu cng cu truy vn chi co mt chu d, nguoi dung khng
thchinh sua cac truy vn cho dn khi kt qua v ich d duoc tra lai va hin thi. Nu, mt khac, chung ti
sp xp cho giao din nguoi su dung va truy vn co so du liu d chay trong chu d ring bit, nguoi su
dung co th mt vn d khac tim kim truoc khi mt trong nhung du tin d hoan thanh:cac ung dung co
th git cht khng bao gio duoc hin thi khng chinh xac chu d ngay lp tuc va kt
qua khngchinh xac.
Giao din nguoi dung co th duoc cp nht ngay ca khi ung dung duoc bn rn.y xem xet
mt truy vn cng cu, nhu la mt chu d duy nht. Nu nguoi dung bt du tim kim va sau do, truoc
khi cac kt qua duoc hin thi, thay di kich thuoc cua s ung dung, diu gi s xay ra? Vng, ly goc
Cac cua s va di chuyn no trn man hinh duoc thuc hin boi h diu hanh ( may tinh d ban), vi vy ranh
gioi cua s s di chuyn nhu mong doi. Tuy nhin, bn trong cua cua s d duoc son bng cach ung dung
cua chung ti: k tu khi ung dung duocbn rn, bn trong cua s s khng duoc son lai cho dn
khi cac kt qua truy vn tro lai. Nguoi su dung nhin thy mt thay giao din nguoi dung nghip
du ma repaints vao nhung thoi dim bt ngo. Nu chung ta su dung mt chu d ring bit
truy vn, nguoi dung co th thay di kich thuoc cua s trong khi ho dang cho doi vason lai
xay ra ngay lp tuc.



Tu mt dim may chu cua, da lung la tt vi:

No cho phep chung ti phuc vu nhiu khach hang cung mt luc ma khng cn cac chi phi cua nhiu
quy trinh. Quy trinh dt hon nhiu d thit lp, thuc hin va pha bo honchu d. Vi du, mt may tinh bi
treo khi ban yu cu no chay 1000 qua trinhdng thoi co th duoc hoan toan hanh phuc bn qua trinh voi
250 chu d. Di voi mt s loai ung dung ni mang, diu nay la rt quan trong: vi du, cac servlet chay
trong mt don qua trinh voi nhiu chu d nhung cac kich ban CGI, theo mc dinh, chay trong nhiu quy
trinh, do do, nu chung ta mun nhung loi ich cua servlet, chung ta phai co da lung.
No lam giam d tr (thoi gian nhan ri) trong cac may chu. Vi du, nu mt may tng giua truy cp
mt may chu co so du liu bng cach su dung mt soi may chu duy nht, cac maytng giua la nhan
ri trong khi truy vn duoc thuc thi trn may tinh cp du liu. Voi nhiu chu d, may tng giua
co th duoc lam cng vic khac trong khi truy vn duoc thuc hin.
No lam giam thoi gian-outs. Voi mt s giao thuc, mt yu cu khach hang skhng tu dng
may chu khng tra loi trong vong mt thoi gian nht dinh (vi du, hai phut). Nu tt ca cac khach hang
yu cu phai xp hang, cho doi d duoc phuc vu boi mt soi may chu duy nht, chung ti s nhn duoc
nhiu hon thoi gian-outs (mi yu cu la keo dai thoi gian cn d phuc vu yu cu
d co trong hang doi). Voi da lung, yu cu ngn d nhanh chong bin xung quanh:
thoi gian ra s chi xay ra cho vn d v mang, may chu qua tai va qua phuc tap
yu cu.
Ly tuong nht, ngn ngu lp trinh va thoi gian chay h thng xu ly cac chi tit ln xn cua
da lung - lp k hoach, uu tin, thoi gian ct, vv Bng cach nay, cac lp trinh vin chi cn co
d vit m ma s duoc diu hanh boi cac chu d va bt du ln.


10.8.3 Chu d an ton
Da lung gy ra vn d, boi vi chu d co th bi gian doan truoc khi chung hoan thanh (d cho
phep cac chu d khac d chay). Vi du, hy xem xet kich ban sau dy:

ai lung A va B duoc truy cp vao di tuong O.
Mt chu d bt du doc mt trong nhung linh vuc O, F, bng cach su dung mtphuong thuc getter.
Khi d doc mt nua gia tri, ln lich va ngt no d B co th chay mt thoi gian.
B bt du thay di F, thng qua setter cua no. Lp lich cho phep B d hoan thanh sua di cua no truoc khi
no thuc dy A. Khi tinh dy, no doc phn con lai cua F.

Chu d d doc mt nua gia tri c va mt nua gia tri moi, ma r rang la v nghia. Diu nay loai du
liu tham nhng ap dung di voi cac ngun luc bn ngoai(hy tuong tuong nu A d duoc
doc mt tp tin vn ban va B duoc sua di no). Khi chung ta truy cp du liu trong co so du
liu, DBMS cung cp cho chung ti voimt giao dich phuc tap co ch d dam bao rng du liu khng bi
hong. Tuy nhin, bn trong m da lung, chung ta phai bao v cac du liu minh. Chia khoa d bao v du
liu trong mt dinh huong di tuong chuong trinh la d dam bao rng mi phn chi co th duoc truy cp
thng qua mt di tuong duy nht ma quan ly du liu. Sau do, min la chung ti dam bao rng chi co mt
thread truy cp vao di tuong tai mt thoi gian (loai tru ln nhau), chung ta bit rng cac du liu s duoc
an toan. Tt nht,chung ti lp trinh ngn ngu s cho phep chung ta thuc thi loai tru ln nhau (chung ti
s xem lam th nao no duoc thuc hin trong Java trong thoi gian ngn).
M s do la an toan cho su dung da lung duoc cho la thread-an toan hoc MT-an toan (nhu trai
nguoc khng thread-an toan "hoc MT-nong). Noi chung, chung ti mun lam cho tt ca cac di
tuong cua chung ti thread-an toan va Multi-tt ca cac ung dung cua chung ti.
hng thay di
Mt di tuong bt di bt dich la mt di tuong co du liu khng th thay di. O dycac du liu co nghia
la:

Cac gia tri cua cac linh vuc cua di tuong.
Cac gia tri duoc luu tru trong cac ngun luc bn ngoai duoc quan ly boi cac di tuong (chng
han nhu vn ban trong cac tp tin).
Cac gia tri bn trong bt ky di tuong duoc tro dn boi di tuong.
. . .
Noi cach khac, di voi mt di tuong d duoc thuc su bt di bt dich, no phai la khng th thay di
ring di tuong cua cac linh vuc va bt ky du liu co th dat duoc boi di tuong,truc tip hoc gian tip,
ni b hay bn ngoai.
Bt bin di tuong co loi th ma ho lun lun thread-an toan - k tu khi co du liu co th
duoc thay di, khng co du liu co th bi hong. Chung cng hiu qua hon (ho co th duoc chia se minh
bach va luu giu trong cac linh vuc b nho chi doc).
Mt s ngn ngu cung cp phuong tin d dam bao tinh bt bin - C 's const tu khoa va Tu khoa cui
cung cua Java la nhung vi du ph bin. Cac co so nay, tuy nhin, co xu huong duoc mt phn.
Mt cach tip cn tt hon la d thuc thi bt bin theo phong cach lp trinh (khngcung cp setters,
khoa cac tp tin, va nhu vy).
Mc du cac di tuong bt di bt dich la mt y tuong tt dep, hu ht cac di tuongcn phai duoc thay di:
vi du,mt khach hang d khng cho phep chung ta thay di thuc tinh dia chi cua no s khng duoc su
dung nhiu. Vi vy,chung ta phai bit lam th nao d thuc hin cac thay di di tuong thread-an toan.
c d|nh gi tr|
Lam th nao d lam cho di tuong thread-an toan la mt thach thuc. D lam cho vn d ti t hon, chung
ti thuong co ly do ca gia dinh cua cac di tuong va lam th nao ho s duoc su dung cung.
Mt ly do cho diu nay la b tc. B tc lin quan dn tinh hung ma chu d dang cho doi
cho thread B d lam mt cai gi do trong khi chu d B la cho doi cho thread d lammt cai gi do: ca hai
chu d cui cung cho doi mi mi. D tranh b tc, chung ta phai suy nghi v cachcua chung ti di
tuong hop tac va chu d s di lang thang qua chung.
Mt thu thut don gian chung ta co th su dung d giup dat duoc thread an toan cho cac gia tri c dinh
trong cac di tuong cua chung ti. Mt gia tri c dinh la mt linh vuc khng thay di: vi du, mt di
tuong toan hoc co th co mt gia tri Pi bn trong no ma khng bao gio cn phai
duoc thay di. Cac gia tri c dinh, khng thay di, tu dng chu d an toan, vi vy kich ban nhu 'bi gian
doan doc ma chung ta d thytruoc do, khng mt vn d.
Co quyt dinh cac linh vuc cua mt di tuong duoc c dinh, chung ta co th phn
chia di tuong cua chung ti vao hai nua gia tri c dinh, ma khng cn m dc bit d bao v
chung, va cac gia tri thay di, ma lam. Gia tri c dinh chi co th khng thay di sau khi cac di tuong
trong cu hoid duoc tao ra. Noi cach khac, chung ta co th thao tac cac gia tri c dinh bn trong xy
dungcua mt di tuong: min la chung ta khng thay di gia tri sau khi cac nha xy dung d hoan
thanh, tt ca moi thu s duoc su dung tt. Ly do cho diu nay la chi co mt thread co th nhn duoc bn
trong mt nha xy dung: cac chu d hoi cac h thng chay-thoi gian d tao ra cac di tuong, khng co chu
d khac co th nhn duoc bn trong di tuong trong khi no duoc xy dung, boi vi no khng tn tai duoc
nu ra. (Diu nay gia dinh rng cac nha xy dung khng lam cho di tuong co sn cho cac chu d
khac trong khi no duoc thuc hin.)
lng b ha trong 1ava
Chung ta co th giai quyt hu ht cac vn d da lung bng cach dong goi mi tai nguyn duoc
chia se bn trong mt duy nht di tuong. Do la sau do trach nhim cua di tuong d dam
bao rng chi comt thread duoc phep trong mt thoi gian. Tt nht, cac ngn ngu lp trinh h
tro nay loai tru ln nhau. Vi du, trong Java, mt phuong phap co th duoc danh du nhu dng
b: h thngthoi gian chay dam bao rng chi co mt chu d tai mt thoi dim co th
duoc hoat dng bn trongcua mt di tuong dng b hoa phuong phap. Diu nay dat duoc bng
cach kt hop mt khoa voi tung di tuong, duoi su kim soat cua mt man hinh. Cac chu
d du tin d di dn mt trong nhung phuong thuc cua di tuong dng b duoc cho phep trong
man hinh, nhung cac chu d khac khoa trong cac phuong phap dng b cho dn khinguoi du
tin Chu d khoi hanh. Loai tru ln nhau cua Java khng ap dung di voi cac phuong phap dng
b: chu d duoc tu do chay vao va ra cua ho bt cu luc nao.
inh 10,27 cho thy mt anh chup cua mt di tuong Java trong su dung, voi bn chu d dang
c gng d co duoc bn trong. Di tuong nay co gia tri MT-nong, cn bao v, va cac gia
tri c dinh, makhng.
Ba chu d ma chung ti d duoc goi la T1, T2 va T3 dang hoat dng; T2 bi dinh chi
bn ngoai phuong thuc M2 vi T1 d buoc vao di tuong thng qua mt dng b
phuong phap (M1). Di voi D an nay d lam vic, cac lp trinh vin phai dam baorng chi
co m bn trong M1 va M2 truy cp cac gia tri MT-nong. Cac gia tri c dinh, mt khac, co th
duoc truy cp tu bt ky phuong phap.
Vi vy, d lam cho mt di tuong Java thread-an toan, chung ta cn phai dng b hoatruy
cp cho tt ca cac cac gia tri MT-nong. Trong thuc t, diu nay doi hoi kinh nghim va tu
duy cung d tranh b tc va dng b hoa khng cn thit (diu nay la quan trong boi vi loai tru
ln nhauco th lam giam thng luong cua mt di tuong).
Trung hp nghin cu
Chu d an toan trong iCoot
Vi vy, lam th nao d chung ti dia chi thread-an toan cua iCoot? Chung ta co thxem xet tung lop
mt cach ring bit (mt loi th cua vic su dung lop):

Trong giu voi phong cach lp trinh servlet, servlets cua chung ti (mt phn duoc phn phi
giao din) nha nuoc it hon, va do do MT-an toan. Phin du liu (chng han nhu cacPMember
cho nguoi su dung hin nay) duoc luu tru trong mt ttpSession cho mi khach hang va duoc bao v
bng cach su dungJava co ch dng b hoa (su dung khi dng b). (La mt phn cua
tiu chun TML / co ch cng servlets CGI, may chu Web luu tru cac phin Cac di tuong va cac trinh
duyt web luu tru dinh danh phin.)
pluggable di tuong may chu cua chung ti cng duoc nha nuoc it hon va do dothread-an toan: mi
dich vu kinh doanh ca th tra v mt phan ung (nhu la cac di tuong giao thuc) duoctach ra
tu cac lop kinh doanh va chi duoc su dung boi cac khach hang d yu cu no.
Cac lop kinh doanh phai duoc thuc hin MT-an toan, bng cach lp trinh cn thn, do do
nhiu chu d co th chay qua no tu lop may chu ma khng lam hu
luu tru du liu doc tu lop co so du liu.

Ngu nhin, cac lop co so du liu dng thoi an toan bng cach lich su, mc dinh ti da
co ch giao dich - lp trinh vin chi don gian la d dam bao rng mt giao dich
duoc tao ra vao luc bt du cua mi dich vu kinh doanh va cam kt o cui.

You might also like