6FKHGXOHURYHUKHDG
7KHRSHUDWLQJV\VWHP¦VVFKHGXOHULVUHVSRQVLEOHIRUFKRRVLQJZKLFKWKUHDGVKRXOG
EHH[HFXWHGRQZKLFK&38DQGZKHQ(YHQZKHQWKUHDGVDUHEORFNHGWKHVFKHG
XOHUPXVWFRQVLGHUWKHPWRILQGZKHWKHUWKH\¦UHEHFRPHXQEORFNHG7KLVVORZV
GRZQFRQWH[WVZLWFKHVDQGFDQVORZWKHHQWLUHV\VWHP
%HWZHHQWKHPWKHVHRYHUKHDGVFDQDGGWRWKHORDGRQ\RXUVHUYHULQFUHDVLQJODWHQF\
DQGGHFUHDVLQJWKURXJKSXW
5HPHPEHUWKHPDLQFKDUDFWHULVWLFRIDV\QFKURQRXVFRGHLVWKDWWKHWKUHDGWKDWVWDUWHG
DORQJUXQQLQJRSHUDWLRQLVUHOHDVHGWRGRRWKHUWKLQJV,QWKHFDVHRI$631(7FRGH
WKLVWKUHDGLVIURPWKHWKUHDGSRROVRLWLVUHWXUQHGWRWKHWKUHDGSRROGXULQJWKHORQJ
UXQQLQJRSHUDWLRQ,WFDQWKHQSURFHVVRWKHUUHTXHVWVVRIHZHUWKUHDGVDUHQHHGHGWR
SURFHVVWKHVDPHQXPEHURIUHTXHVWV
Another Analogy: The Restaurant Kitchen
$ZHEVHUYHULVDFORVHPRGHORIDUHVWDXUDQW0DQ\FXVWRPHUVRUGHUIRRGDQGWKH
NLWFKHQWULHVWRVDWLVI\WKHPDVVRRQDVLWFDQ
2XUNLWFKHQKDVPDQ\FKHIVZLWKHDFKFKHIUHSUHVHQWLQJDWKUHDG7KH\FRRNWKHGLVKHV
WKDWWKHFXVWRPHUVRUGHUEXWDWSRLQWVGXULQJWKHSUHSDUDWLRQHDFKGLVKMXVWQHHGVWR
EHLQWKHRYHQIRUDZKLOHDQGWKHFKHIKDVQRWKLQJWRGR7KLVPLUURUVWKHZD\WKDW
ZHEUHTXHVWVXVXDOO\QHHGWRPDNHDGDWDEDVHTXHU\WKDWWKHZHEVHUYHUKDVQRSDUWLQ
,QDEORFNLQJLPSOHPHQWDWLRQRIWKHNLWFKHQWKHFKHIZLOOVLWLQIURQWRIWKHRYHQZDLWLQJ
IRUWKHGLVKWREHFRRNHG7RPRGHODWKUHDGH[DFWO\WKHVHFKHIVKDYHDQRGGFRQWUDFW
ZKHUHWKH\DUHQ¦WSDLGZKLOHWKH\DUHZDLWLQJIRUIRRGWRFRRNEHFDXVHDWKUHDGGRHVQ¦W
XVH&38WLPHZKHQLWLVEORFNHG0D\EHWKH\UHDGDQHZVSDSHU
%XWHYHQLIZHGRQ¦WKDYHWRSD\WKHPDQGZHFDQKLUHDQHZFKHIIRUHYHU\GLVKZH
QHHGWRFRRNZDLWLQJFKHIVVWLOOWDNHXSVSDFHLQWKHNLWFKHQ:HFDQ¦WILWPRUHWKDQD
IHZWHQVRIFKHIVLQWKHNLWFKHQEHIRUHLWEHFRPHVKDUGWRPRYHDURXQGDQGHYHU\RQH¦V
ZRUNVORZVGRZQ
2IFRXUVHWKHDV\QFKURQRXVV\VWHPZRUNVPXFKEHWWHU(DFKWLPHIRRGLVSXWLQWKH
RYHQWKHFKHIQRWHVGRZQZKDWGLVKLWLVDQGZKDWVWDJHRISUHSDUDWLRQLW¦VDWWKHQ
ILQGVDQHZWDVNWRGR:KHQWKHWLPHLQWKHRYHQLVGRQHDQ\FKHIFDQSLFNWKHGLVK
XSDQGFRQWLQXHSUHSDULQJLW
,W¦VWKLVHIILFLHQWV\VWHPWKDW¦VVRSRZHUIXOLQZHEVHUYHUV2QO\DIHZWKUHDGVFDQPDQ
DJHDQXPEHURIVLPXOWDQHRXVUHTXHVWVWKDWZRXOGKDYHUHTXLUHGKXQGUHGVEHIRUHRU
ZRXOGKDYHMXVWEHHQXQIHDVLEOHEHFDXVHRIWKHRYHUKHDGV,QIDFWVRPHZHEIUDPH
ZRUNVQRWDEO\QRGHMVUHMHFWWKHLGHDRIPXOWLSOHWKUHDGVDOWRJHWKHURSWLQJWRXVHD
VLQJOHWKUHDGWRSURFHVVDOOWKHUHTXHVWVDV\QFKURQRXVO\7KH\FDQRIWHQKDQGOHPRUH
UHTXHVWVZLWKRQHWKUHDGWKDQDPXOWLWKUHDGHGEXWEORFNLQJV\VWHPFDQKDQGOHLQ
WRWDO,QWKHVDPHZD\RQHZHOORUJDQL]HGFKHILQDQHPSW\NLWFKHQFDQFRRNPRUH
8 | Chapter 2: Why Programs Need to Be Asynchronous
DQ\FXVWRPHUVRUGHUIRRGWRPHUVRUGH
UHSUHVHQWLQJDWKUHDG7KHVHQWLQJDWKUH
GXULQJWKHSUHSDUDWLRQHDFJWKHSUHSDUDWLR
KHIKDVQRWKLQJWRGR7KDVQRWKLQJWRGR
DGDWDEDVHTXHU\WKDWWKHEDVHTXHU\WKDWWKH
RIWKHNLWFKHQWKHFKHIZLOORIWKHNLWFKHQWKHFKHIZ
7RPRGHODWKUHDGH[DFWO\RPRGHODWKUHDGH[DFWO\
KLOHWKH\DUHZDLWLQJIRUIRWKH\DUHZDLWLQJI
WLVEORFNHG0D\EHWKH\UFNHG0D\EHWKH\
RQ¦WKDYHWRSD\WKHPDQGDYHWRSD\WKHPDQG
ZDLWLQJFKHIVVWLOOWDNHXSQJFKHIVVWLOOWDNHXS
FKHIVLQWKHNLWFKHQEHIRUHLQWKHNLWFKHQ
RXUVHWKHDV\QFKURQRXVV
YHQWKHFKHIQRWHVGRZQ
ILQGVDQHZWDVNWRGR:
LVHIILFLHQWVVHIILFLHQW
From the Library of Girro@qq.com
From the Library of Girro