西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索
缂侇垵宕电划鍝勵啅閵夈儱寰�
U濠㈠爢鍐憥v4.7.37.56 闁哄牃鍋撻柡鍌涘婢э拷U濠㈠爢鍐憥v4.7.37.56 闁哄牃鍋撻柡鍌涘婢э拷
HD Tune  Prov5.75 婵懓顦€佃尙绱掗懗顖氼棌闁绘鎳撻崺鍡涙偋閿燂拷HD Tune Prov5.75 婵懓顦€佃尙绱掗懗顖氼棌闁绘鎳撻崺鍡涙偋閿燂拷
DiskGenius 濞戞挻鎸风粭鐔兼偋閸︼拷5.2.1.941 閻庤蓱閺岀喖鎮ч敓锟�DiskGenius 濞戞挻鎸风粭鐔兼偋閸︼拷5.2.1.941 閻庤蓱閺岀喖鎮ч敓锟�
360閺夌儐鍨▎銏㈢不閳ユ剚鍟€v7.5.0.1460 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�360閺夌儐鍨▎銏㈢不閳ユ剚鍟€v7.5.0.1460 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
Cpu-Z濞戞搩鍘介弸鍐偋閸э拷1.98.0 缂備浇鍎绘竟濠冪▔椤撶喐鐎柣妤嬫嫹Cpu-Z濞戞搩鍘介弸鍐偋閸э拷1.98.0 缂備浇鍎绘竟濠冪▔椤撶喐鐎柣妤嬫嫹
缂傚啯鍨圭划璺侯啅閵夈儱寰�
闁煎灚宕橀鍡涙偨娴e啫澹嬬紒鐘偓鎰佸晙V15.2 閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�闁煎灚宕橀鍡涙偨娴e啫澹嬬紒鐘偓鎰佸晙V15.2 閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�
office2016婵犵鍋撴繛鑼额嚙娴兼劙宕楃粚鏀巗v19.5.2 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�office2016婵犵鍋撴繛鑼额嚙娴兼劙宕楃粚鏀巗v19.5.2 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
閺夆晛鎳樺ù锟�11闁哄牃鍋撻柡鍌涘婢ф11.3.6.1870 閻庤蓱閺岀喖鎮ч敓锟�閺夆晛鎳樺ù锟�11闁哄牃鍋撻柡鍌涘婢ф11.3.6.1870 閻庤蓱閺岀喖鎮ч敓锟�
360闁稿繐绉烽崹鍊僫fi5.3.0.5000 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�360闁稿繐绉烽崹鍊僫fi5.3.0.5000 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
360閻庣懓顦崣蹇撁硅箛姘兼綌闁革綇鎷�2022v13.1.5188.0 閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�360閻庣懓顦崣蹇撁硅箛姘兼綌闁革綇鎷�2022v13.1.5188.0 閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�
濠㈣埖鑹鹃悰鐔告媴閹炬儼顫�
闂佷即鏀遍崹婊堟閸忓懐顔囬柣鈺嬫嫹2022v9.1.6.2 閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�闂佷即鏀遍崹婊堟閸忓懐顔囬柣鈺嬫嫹2022v9.1.6.2 閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�
闁哄棙鎸抽ˉ鎾广亹闁秶鍙�2021V5.81.0202.1111閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�闁哄棙鎸抽ˉ鎾广亹闁秶鍙�2021V5.81.0202.1111閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�
闊浂鍋呴幐锟�5.0婵﹢鏅茬粭澶愬础閸モ晠鐛撻柣妤嬫嫹5.0.80 濡ょ姰鍔岄妵鏃堟偋閿燂拷闊浂鍋呴幐锟�5.0婵﹢鏅茬粭澶愬础閸モ晠鐛撻柣妤嬫嫹5.0.80 濡ょ姰鍔岄妵鏃堟偋閿燂拷
濞村吋锕㈤崣锟�2022閻庡箍鍨洪崺娑氱博閻わ拷8.0.9.11050 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�濞村吋锕㈤崣锟�2022閻庡箍鍨洪崺娑氱博閻わ拷8.0.9.11050 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
闁绘牕宕〃宀勬嚌妤︽娼掑Λ鐗堝弳13.1.5閻庤蓱閺岀喓鈧懓顦畷婊堟偋閿燂拷闁绘牕宕〃宀勬嚌妤︽娼掑Λ鐗堝弳13.1.5閻庤蓱閺岀喓鈧懓顦畷婊堟偋閿燂拷
闁搞儲鍎抽懜浼村炊閹冨壖
photoshop cs6 濞戞搩鍘介弸鍐偋閿燂拷13.1.2.3 闁稿繐绉烽崹鍌涚▔椤撶喐鐎柣妤嬫嫹photoshop cs6 濞戞搩鍘介弸鍐偋閿燂拷13.1.2.3 闁稿繐绉烽崹鍌涚▔椤撶喐鐎柣妤嬫嫹
Autodesk 3ds Max 2012閻庤蓱閺岀喓绮婚埀顒佹媴閹捐尪鍘柡鍌氭川婢ф32&64]Autodesk 3ds Max 2012閻庤蓱閺岀喓绮婚埀顒佹媴閹捐尪鍘柡鍌氭川婢ф32&64]
CAD2007闁稿繐绉烽崹鍌涚▔椤撶喐鐎柣妤嬫嫹CAD2007闁稿繐绉烽崹鍌涚▔椤撶喐鐎柣妤嬫嫹
vc閺夆晜鍔橀、鎴炴償閿燂拷2019闁哄牃鍋撻柡鍌涘婢ф2019.3.2(32&64濞达綇鎷�)vc閺夆晜鍔橀、鎴炴償閿燂拷2019闁哄牃鍋撻柡鍌涘婢ф2019.3.2(32&64濞达綇鎷�)
.NET Framework 4.8閻庤蓱閺岀喖鎮ч敓锟�4.8.3646.NET Framework 4.8閻庤蓱閺岀喖鎮ч敓锟�4.8.3646
闁煎崬锕ら妵澶愭嚂閺冨倻鎹�
QQ2022v9.5.6.28129 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�QQ2022v9.5.6.28129 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
鐎甸偊鍠曟穱濠囨偨娴e啫澹嬮柣妤嬫嫹2022v3.5.0.44 閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�鐎甸偊鍠曟穱濠囨偨娴e啫澹嬮柣妤嬫嫹2022v3.5.0.44 閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�
闁告鍟版晶浼村础閺嵮屽晙鐎规悶鍎扮紞鏃堢嵁閸愭彃閰眝9.02.02N 閻庤蓱閺岀喖鎮ч敓锟�闁告鍟版晶浼村础閺嵮屽晙鐎规悶鍎扮紞鏃堢嵁閸愭彃閰眝9.02.02N 閻庤蓱閺岀喖鎮ч敓锟�
QT閻犲浂鍙冮悡绂�4.6.80.18262閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�QT閻犲浂鍙冮悡绂�4.6.80.18262閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
濡炲鍋樻穱锟�2018V6.2.0700 閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�濡炲鍋樻穱锟�2018V6.2.0700 閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�
闁告柣鍔嬬紞鏂裤€掗崨濠傜亞
濞撴氨濮峰ú宥嗩槹閻愯埖绨犵紓鍐句簼娴兼捇鏌堥挊澶岊伋
濡ょ姵鍨块埞鍫熺▔鎼达絿鍩嗛柡澶嗗亾缂備胶绻濋崥顐㈩嚗娴h绠�
闁惧繑鍔栧ḿ鍐储閻旂柉鍩�2
濞寸姰鍎查幏濠氭儍閸曨厾娉㈤柛姘炬嫹
闁哄鍋撻柟纰夋嫹5閻犙嶇畱閸橈拷
FPS閻忓繐瀚崵锟�
H1Z1濞戞搩鍘介弸鍐偋閿燂拷
閻庢稏鍊曢惌婵嬪箚婵犲洨鎼�3
濞戞挸顦抽~妤€煤閼碱剙顥楃紒澶婄Ч閸庢挳姊奸敓锟�6闁瑰瓨锕㈠Σ锔界▕鐎n亜鐎�
濞达絽鐏濋幊锟犲矗椤掆偓閺侊拷8:闁绘粓顣﹂崬顒勫箣濡湱鎸�3
闁告艾鐗撻崳鍓ф啑閸涱収妲�5:妤犵偠宕靛Λ锟�
缂佹梻鍋ら埀顒傚枑閻栧爼骞嬮敓锟�
婵炲柌鍕哎闁告銈嗙盃婵☆垪鍓濈€氾拷2
闁哄啫顑堝ù鍡樻姜椤斿灝鍓�
闁哄绀侀幖褎顦伴悙鑸电盃18
缂佷胶鍋涙慨蹇曠矓閹达絽绗�
F1 2015
闁告劖甯″▍鎾斥柦濞嗘垶纾�
闁瑰瓨鍨瑰▓鎴炵▔閺嶎偅娅�1.8.2
婵炲澧楁刊娲偡閻愭壆鑲�
濡ゆぜ鍎村畷锟�:婵炲鍏樺В锟�
闁哄嫮鍠撻弲顐f綇閻熼偊鏆�
闁哄牃鍋撻柛姘捣閺佹挻娼诲Ο搴撳亾閸栫徎闁绘鎷�
缂佹稒鐗滈弳鎰€掗崨濠傜亞
闁哄倸娲﹀Σ锟�5:缂傚洤绨奸梽鍕棘妫颁胶鐟柣锝忔嫹
濞戞挸顦ù妤勭疀閿燂拷12濠电偘绀佹慨蹇涘礉閻樻彃绻侀柣妤嬫嫹
濞e浄绻濋弳杈ㄧ▕鐎n喖娅i柡鍫嫹14濠电偘绀佹慨蹇涘礉閻樻彃绻侀柣妤嬫嫹
闂傚啯瀵цぐ渚€骞忛敓锟�:闁稿繈鍔戝ḿ浼村箣濡湱鎸�
閻㈩垱绻傚ù妤呭籍閺堥潧鏁�2鐎甸鐒﹀﹢鍥嚀閿燂拷
闁汇垻鍠愬鍧楀嫉瀹ュ懎顫�
闁衡偓椤栨瑧甯涢悗瑙勭箞閹稿爼宕犻敓锟�(Alipay)V10.2.53.7000 閻庣懓顦畷婊堟偋閿燂拷闁衡偓椤栨瑧甯涢悗瑙勭箞閹稿爼宕犻敓锟�(Alipay)V10.2.53.7000 閻庣懓顦畷婊堟偋閿燂拷
闁谎勫劤鐎规娊宕烽弶鎸庣閻庝絻澹堥崺锟�2022V15.12.10 閻庣懓顦畷婊堝箥鐎n偅绨氶柣妤嬫嫹闁谎勫劤鐎规娊宕烽弶鎸庣閻庝絻澹堥崺锟�2022V15.12.10 閻庣懓顦畷婊堝箥鐎n偅绨氶柣妤嬫嫹
闁归潧顑嗗┃鈧繛锝喢悿鍌溾偓骞垮灪閸╂稓绮╅惀锟�10.8.40閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�闁归潧顑嗗┃鈧繛锝喢悿鍌溾偓骞垮灪閸╂稓绮╅惀锟�10.8.40閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
闁伙絽鎳橀埀顒佹⒒缂嶅骞嶇€n偅绨氶悗骞垮灪閸╂稓绮╅惀锟�5.6.9 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�闁伙絽鎳橀埀顒佹⒒缂嶅骞嶇€n偅绨氶悗骞垮灪閸╂稓绮╅惀锟�5.6.9 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
闁告鍟虫禍浼存儗閵夈劎妲曢柡鍫濈Т婵剬ppv4.5.1閻庤蓱閺岀喖鎮ч敓锟�闁告鍟虫禍浼存儗閵夈劎妲曢柡鍫濈Т婵剬ppv4.5.1閻庤蓱閺岀喖鎮ч敓锟�
鐟滀即浜堕悡鍫曞箻椤撶喐鏉�
p2psearcher閻庣懓顦畷婊堟偋閿燂拷7.3  闁归潧顑嗗┃鈧柣妤嬫嫹p2psearcher閻庣懓顦畷婊堟偋閿燂拷7.3 闁归潧顑嗗┃鈧柣妤嬫嫹
闂佷即顥撶€氬秹妫呴崗鍛唶2022閻庤蓱閺岀喖鎮ч崷锟�11.0.8 閻庤蓱閺岀喓鈧懓顦畷婊堟偋閿燂拷闂佷即顥撶€氬秹妫呴崗鍛唶2022閻庤蓱閺岀喖鎮ч崷锟�11.0.8 閻庤蓱閺岀喓鈧懓顦畷婊堟偋閿燂拷
闁绘牕宕〃宀勬嚌閻戞ê顤侀柡鍫f婢ф13.1.0闁绘牕宕〃宀勬嚌閻戞ê顤侀柡鍫f婢ф13.1.0
闁谎勫劤鐎瑰疇銇愰柆宥囧従7.13.0 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�闁谎勫劤鐎瑰疇銇愰柆宥囧従7.13.0 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
鐟滀即浜堕悡鍫曞礂閸儲鏁眝6.9.0 閻庣懓顦畷婊堝箥鐎n偅绨氶柣妤嬫嫹鐟滀即浜堕悡鍫曞礂閸儲鏁眝6.9.0 閻庣懓顦畷婊堝箥鐎n偅绨氶柣妤嬫嫹
闂傚啫鎳撻鏉款啅閵夈儱寰�
闁煎灚宕橀鍡涘礉閵婏附鐎琕9.11.5 閻庣懓顦畷婊堟偋閿燂拷闁煎灚宕橀鍡涘礉閵婏附鐎琕9.11.5 閻庣懓顦畷婊堟偋閿燂拷
濞戞棑闄勫Λ妤冧焊韫囨凹鍤涢柛蹇撶Х閸ㄥ倿鎮ч崼鐔告嫳v11.5.5.153 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�濞戞棑闄勫Λ妤冧焊韫囨凹鍤涢柛蹇撶Х閸ㄥ倿鎮ч崼鐔告嫳v11.5.5.153 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
QQ闂傚啫鎳撻浼村闯閳烘及pV7.7.1.910 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�QQ闂傚啫鎳撻浼村闯閳烘及pV7.7.1.910 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
闁硅櫕甯婂Ч澶愭偩閸涱厽鍎旈柛姘煎厸閸旂剬ppv7.1.5 閻庤蓱閺岀喓鈧懓顦畷婊堟偋閿燂拷闁硅櫕甯婂Ч澶愭偩閸涱厽鍎旈柛姘煎厸閸旂剬ppv7.1.5 閻庤蓱閺岀喓鈧懓顦畷婊堟偋閿燂拷
閻犙囶棑閸嬶絿鎷犵拋鍐插app闁哄倹澹嗘晶妤呭嫉閿燂拷20227.9.186 閻庣懓顦畷婊堟偋閿燂拷閻犙囶棑閸嬶絿鎷犵拋鍐插app闁哄倹澹嗘晶妤呭嫉閿燂拷20227.9.186 閻庣懓顦畷婊堟偋閿燂拷
闂佸弶鍨奸悗娲偠閸℃艾鍋�
妤犵偛鍟块悾銊ф嫚娴gǹ鐓栭悗鐟扳€﹂柣鐐叉閸屸晵9.1.0.1 閻庤蓱閺岀喓鈧懓顦畷婊堟偋閿燂拷妤犵偛鍟块悾銊ф嫚娴gǹ鐓栭悗鐟扳€﹂柣鐐叉閸屸晵9.1.0.1 閻庤蓱閺岀喓鈧懓顦畷婊堟偋閿燂拷
婵炲鍏橀埀顒佷亢閻﹀宕氶崨濠傤杹闁哄牐娅f晶锟�(e婵炲鍏橀埀顒佷亢閸岋拷)8.71 閻庤蓱閺岀喓鈧懓顦畷婊堟偋閿燂拷婵炲鍏橀埀顒佷亢閻﹀宕氶崨濠傤杹闁哄牐娅f晶锟�(e婵炲鍏橀埀顒佷亢閸岋拷)8.71 閻庤蓱閺岀喓鈧懓顦畷婊堟偋閿燂拷
濞戞挻绮嶉幑锝囨嫚娴gǹ鐓栧☉鎾寸矋閹癸綁鎮堕崱姘亶4.0.5 閻庣懓顦畷婊堟偋閿燂拷濞戞挻绮嶉幑锝囨嫚娴gǹ鐓栧☉鎾寸矋閹癸綁鎮堕崱姘亶4.0.5 閻庣懓顦畷婊堟偋閿燂拷
濞戞搩鍙冮幗杈╂嫚娴gǹ鐓栫紒澶庮嚙婵晠鎮堕崱姘亶閺夌儐鍨▎锟�6.02.010 閻庤蓱閺岀喓鈧懓顦畷婊堟偋閿燂拷濞戞搩鍙冮幗杈╂嫚娴gǹ鐓栫紒澶庮嚙婵晠鎮堕崱姘亶閺夌儐鍨▎锟�6.02.010 閻庤蓱閺岀喓鈧懓顦畷婊堟偋閿燂拷
闁告閰g欢宕囨嫚娴gǹ鐓栭悘蹇撶箻閸i箖骞嶇€n偅绨氶柣鐐叉閸屻劍娼娆愵偨3.2.4 閻庣懓顦畷婊堟偋閿燂拷闁告閰g欢宕囨嫚娴gǹ鐓栭悘蹇撶箻閸i箖骞嶇€n偅绨氶柣鐐叉閸屻劍娼娆愵偨3.2.4 閻庣懓顦畷婊堟偋閿燂拷
闁归潧顑嗗┃鈧梺鐐劶椤拷
缂佸倸绻愮紓鎾诲礃濠婂嫭缍戝ǎ鍥风磿閺併倗绮堥悙顒€顤侀柡鍫熸そ閹借京鎮扮仦绛嬪悅闁规挳顥撻锟�2.3.4 閻庣懓顦畷婊堟偋閿燂拷缂佸倸绻愮紓鎾诲礃濠婂嫭缍戝ǎ鍥风磿閺併倗绮堥悙顒€顤侀柡鍫熸そ閹借京鎮扮仦绛嬪悅闁规挳顥撻锟�2.3.4 閻庣懓顦畷婊堟偋閿燂拷
闁哄嫭鎸搁崺妤佹媴濠婂棭娼掑Λ鐗堝灥婢光偓閺夊牊鍙p4.1.16閻庣懓顦畷婊堟偋閿燂拷闁哄嫭鎸搁崺妤佹媴濠婂棭娼掑Λ鐗堝灥婢光偓閺夊牊鍙p4.1.16閻庣懓顦畷婊堟偋閿燂拷
闁衡偓椤栨瑧甯涢悗瑙勭箞閹稿爼宕犻敓锟�(Alipay)V10.2.53.7000 閻庣懓顦畷婊堟偋閿燂拷闁衡偓椤栨瑧甯涢悗瑙勭箞閹稿爼宕犻敓锟�(Alipay)V10.2.53.7000 閻庣懓顦畷婊堟偋閿燂拷
濞戞搩鍘煎ù妤€顔忛妷銉︽珜闂佺偓鍎奸、鎴﹀箥鐎n偅绨氶梺鐐劶椤㈡叧ppV7.0.1.2.5 閻庣懓顦畷婊堟偋閿燂拷濞戞搩鍘煎ù妤€顔忛妷銉︽珜闂佺偓鍎奸、鎴﹀箥鐎n偅绨氶梺鐐劶椤㈡叧ppV7.0.1.2.5 閻庣懓顦畷婊堟偋閿燂拷
濞戞搩鍘煎ù妤呮煣閹偊鏀介柟闈涱儐濠р偓闂佺偓鍎奸、鎴犫偓骞垮灪閸╂稓绮╅敓锟�7.2.5 閻庤蓱閺岀喓鈧懓顦畷婊堟偋閿燂拷濞戞搩鍘煎ù妤呮煣閹偊鏀介柟闈涱儐濠р偓闂佺偓鍎奸、鎴犫偓骞垮灪閸╂稓绮╅敓锟�7.2.5 閻庤蓱閺岀喓鈧懓顦畷婊堟偋閿燂拷
濞村吋鍨垮Λ浠嬫儎婵犲啯顏�
闁煎灚宕橀鍡涙偖鎼淬劌顨欓弶鍫濆綖濮瑰骞嶇€n偅绨氶柣妤€婀�2.3.0.0 閻庤蓱閺岀喓鈧懓顦畷婊堟偋閿燂拷闁煎灚宕橀鍡涙偖鎼淬劌顨欓弶鍫濆綖濮瑰骞嶇€n偅绨氶柣妤€婀�2.3.0.0 閻庤蓱閺岀喓鈧懓顦畷婊堟偋閿燂拷
闁告棁灏崹鍫曞炊閵忕姷鏆柡鍌濐潐椤掓粓鎮ч崼鐔奉杹婵炴挾顏�1.2.1閻庤蓱閺岀喖鎮ч敓锟�闁告棁灏崹鍫曞炊閵忕姷鏆柡鍌濐潐椤掓粓鎮ч崼鐔奉杹婵炴挾顏�1.2.1閻庤蓱閺岀喖鎮ч敓锟�
濡ゆぜ鍎甸妶鎸庛仈閵娾晛顨欓弶鈺傜☉鐎垫煡寮悩缁橆€欓梺鍊熷吹閻撳爼鎮ч崸锟�7.8.0.0閻庣懓顦畷婊堟偋閿燂拷濡ゆぜ鍎甸妶鎸庛仈閵娾晛顨欓弶鈺傜☉鐎垫煡寮悩缁橆€欓梺鍊熷吹閻撳爼鎮ч崸锟�7.8.0.0閻庣懓顦畷婊堟偋閿燂拷
婵$偛绉舵晶鎸庡緞瑜庨崹顒勫磽闂堟稒顢嶉柛蹇嬪妽濡叉垿寮伴敓锟�1.0.91 閻庣懓顦畷婊堟偋閿燂拷婵$偛绉舵晶鎸庡緞瑜庨崹顒勫磽闂堟稒顢嶉柛蹇嬪妽濡叉垿寮伴敓锟�1.0.91 閻庣懓顦畷婊堟偋閿燂拷
闁告柣鍔嬬紞鏃備焊閸曨偄姣�
闁革箓顣︾粭鍛村春鎼达絿宕愰柛鎴炴閳ь剙宕憈闁绘鎷�1.6.3 閻庤蓱閺岀喖鎮ч敓锟�闁革箓顣︾粭鍛村春鎼达絿宕愰柛鎴炴閳ь剙宕憈闁绘鎷�1.6.3 閻庤蓱閺岀喖鎮ч敓锟�
閻熶礁鎳愰弫鎶芥嚂閺冨倹绀�1.325.157 閻庣懓顦畷婊堟偋閿燂拷閻熶礁鎳愰弫鎶芥嚂閺冨倹绀�1.325.157 閻庣懓顦畷婊堟偋閿燂拷
闁革讣绲鹃弸鐔哥珶椤愶絾袝闁活厹鍨藉▔锔剧磼閹硷拷4.2.1 閻庣懓顦畷婊堟偋閿燂拷闁革讣绲鹃弸鐔哥珶椤愶絾袝闁活厹鍨藉▔锔剧磼閹硷拷4.2.1 閻庣懓顦畷婊堟偋閿燂拷
闂侇剦鍠栭妵锟�3D闁归潧顑嗛悥锟�1.0.9閻庣懓顦畷婊堟偋閿燂拷闂侇剦鍠栭妵锟�3D闁归潧顑嗛悥锟�1.0.9閻庣懓顦畷婊堟偋閿燂拷
濠靛妫冨Σ璇层€掗崨濠傜亞
閻庣懓顦畷婊冾渻瀹ュ洤鈷栧鍫嗗嫬鐏涢柛宥夋涧濡楋拷2濮掓稒鍨跺▓顐﹀籍閺堥潧鏁╁ǎ鍥跺枟閺佸ジ鎮ч崷锟�1.9.5 闁哄牃鍋撻柡鍌涘婢э拷閻庣懓顦畷婊冾渻瀹ュ洤鈷栧鍫嗗嫬鐏涢柛宥夋涧濡楋拷2濮掓稒鍨跺▓顐﹀籍閺堥潧鏁╁ǎ鍥跺枟閺佸ジ鎮ч崷锟�1.9.5 闁哄牃鍋撻柡鍌涘婢э拷
濞戞棁椴搁弸鐔烘啿閹稿海鍩�2v1.0.150閻庣懓顦畷婊堟偋閿燂拷濞戞棁椴搁弸鐔烘啿閹稿海鍩�2v1.0.150閻庣懓顦畷婊堟偋閿燂拷
濞e洦绻傚畷濂告媰濠靛棗妞�3闁哄啰濞€濡炬椽鏌﹂懡銈囧従闁哄牃鍋撻柡鍌涘婢ф2.0.0.1 閻庣懓顦畷婊堟偋閿燂拷濞e洦绻傚畷濂告媰濠靛棗妞�3闁哄啰濞€濡炬椽鏌﹂懡銈囧従闁哄牃鍋撻柡鍌涘婢ф2.0.0.1 閻庣懓顦畷婊堟偋閿燂拷
闁告瑱缍€椤d即鎳熼柆宥嗙闁告娲樺┃鈧柣妤嬫嫹1.2.0 閻庣懓顦畷婊堟偋閿燂拷闁告瑱缍€椤d即鎳熼柆宥嗙闁告娲樺┃鈧柣妤嬫嫹1.2.0 閻庣懓顦畷婊堟偋閿燂拷
閻忓繐绻愰惃顒勫礃濞戞ɑ绀嬮悗鐟邦槸瀹曟粓鎮ч敓锟�2.7.4 闁哄啰濞€濡炬椽鏌岄幋婵堫伈濞e浂鍠楅弫濂告偋閿燂拷閻忓繐绻愰惃顒勫礃濞戞ɑ绀嬮悗鐟邦槸瀹曟粓鎮ч敓锟�2.7.4 闁哄啰濞€濡炬椽鏌岄幋婵堫伈濞e浂鍠楅弫濂告偋閿燂拷
閻犙勭濠у懐绮╅悙鏉懳�
闁谎嗩嚙閸栨鎸у☉婊勭盃2闁归潧顑嗛悥锟�1.47.1  閻庣懓顦畷婊堟偋閿燂拷闁谎嗩嚙閸栨鎸у☉婊勭盃2闁归潧顑嗛悥锟�1.47.1 閻庣懓顦畷婊堟偋閿燂拷
濞戞挴鍋撻悹褔鏀卞ḿ鍨槹閻愯埖绨犻悗鐟邦槸瀹曟粓鎮ч崸锟�2.9.14 闁哄牃鍋撻柡鍌涘婢э拷濞戞挴鍋撻悹褔鏀卞ḿ鍨槹閻愯埖绨犻悗鐟邦槸瀹曟粓鎮ч崸锟�2.9.14 闁哄牃鍋撻柡鍌涘婢э拷
閻犵儤鍨肩粣鍥础閳ヨ尙顏查弶鐑囬檮婢ф粓寮甸搹鐟邦暭閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣紇1.16.2 閻庣懓顦畷婊堟偋閿燂拷閻犵儤鍨肩粣鍥础閳ヨ尙顏查弶鐑囬檮婢ф粓寮甸搹鐟邦暭閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣紇1.16.2 閻庣懓顦畷婊堟偋閿燂拷
闁绘瑥鍊块崳瑙勵槹濞嗘帗绨�8闁哄绶氶埀顒傚枎閸i攱绂嶉幋婊勫弿闁衡偓閸︻厼顣�(闁稿繐绉甸弳鐔煎箲椤旂厧鐦�)v4.6.0j 闂佸弶鍨电粩鐢稿籍閻樼粯顎欓柣妤嬫嫹闁绘瑥鍊块崳瑙勵槹濞嗘帗绨�8闁哄绶氶埀顒傚枎閸i攱绂嶉幋婊勫弿闁衡偓閸︻厼顣�(闁稿繐绉甸弳鐔煎箲椤旂厧鐦�)v4.6.0j 闂佸弶鍨电粩鐢稿籍閻樼粯顎欓柣妤嬫嫹
闁谎冨綖缁犱即宕¢崘顏勪粡闁硅娲熸總锟�2021闁哄牃鍋撻柡鍌涘婢э拷5.78 閻庣懓顦畷婊堟偋閿燂拷闁谎冨綖缁犱即宕¢崘顏勪粡闁硅娲熸總锟�2021闁哄牃鍋撻柡鍌涘婢э拷5.78 閻庣懓顦畷婊堟偋閿燂拷
閻熸瑦甯熸竟濠囧箥椤旂晫宸�
婵⿵绠戞径鐔煎礈閹达絽鐏﹂柤鏉挎噹瑜板骞€娴e搫顣�1.0.1.2閻庣懓顦畷婊堟偋閿燂拷婵⿵绠戞径鐔煎礈閹达絽鐏﹂柤鏉挎噹瑜板骞€娴e搫顣�1.0.1.2閻庣懓顦畷婊堟偋閿燂拷
濞寸姵鐟ラ。銊﹀閻樹警鍤況o濠㈣泛绉撮崣瀵糕偓鐟邦槸瀹曟粓鎮ч敓锟�1.20.3闁哄牃鍋撻柡鍌涘婢э拷濞寸姵鐟ラ。銊﹀閻樹警鍤況o濠㈣泛绉撮崣瀵糕偓鐟邦槸瀹曟粓鎮ч敓锟�1.20.3闁哄牃鍋撻柡鍌涘婢э拷
婵⿵绠戞径鐔烘嫚濞戞鑸堕柟闈涱儐閻栧爼鎮ч敓锟�1.3.6 閻庤蓱閺岀喓鈧懓顦畷婊堟偋閿燂拷婵⿵绠戞径鐔烘嫚濞戞鑸堕柟闈涱儐閻栧爼鎮ч敓锟�1.3.6 閻庤蓱閺岀喓鈧懓顦畷婊堟偋閿燂拷
闁绘粌顑堥埀顒€鎳撳畷鎶芥嚀閳х悤3.72.1.1 閻庣懓顦畷婊堝嫉閳ь剟寮弶璺ㄦ毉闁哄倸婀辨晶锟�闁绘粌顑堥埀顒€鎳撳畷鎶芥嚀閳х悤3.72.1.1 閻庣懓顦畷婊堝嫉閳ь剟寮弶璺ㄦ毉闁哄倸婀辨晶锟�
閻犲绀侀宥囦焊韫囨碍绨犵€殿喚鍎ゆ晶婊堝嫉閾忕懓顣紇1.0.49 閻庣懓顦畷婊堟偋閿燂拷閻犲绀侀宥囦焊韫囨碍绨犵€殿喚鍎ゆ晶婊堝嫉閾忕懓顣紇1.0.49 閻庣懓顦畷婊堟偋閿燂拷
缂侇垵宕电划鐑樻姜椤栨瑦顐�
mac缁惧彞鑳跺ú蹇涘礆閸℃闅樼€规悶鍎遍崣锟�(Paragon Camptune X)V10.8.12閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�mac缁惧彞鑳跺ú蹇涘礆閸℃闅樼€规悶鍎遍崣锟�(Paragon Camptune X)V10.8.12閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
闁兼槒顫夐悘澶愬箼瀹ュ嫮绋婄紒顖濆吹缁瘲ACOSX 10.9.4 Mavericks閻庣懓鑻崣蹇涘礂瀹ュ牆鐎柣妤嬫嫹闁兼槒顫夐悘澶愬箼瀹ュ嫮绋婄紒顖濆吹缁瘲ACOSX 10.9.4 Mavericks閻庣懓鑻崣蹇涘礂瀹ュ牆鐎柣妤嬫嫹
Rar閻熸瑱绲界敮鍥礆閳轰焦鐝ac闁绘婢�1.4 閻庤蓱閺岀喖宕楀鍫濈€柣妤嬫嫹Rar閻熸瑱绲界敮鍥礆閳轰焦鐝ac闁绘婢�1.4 閻庤蓱閺岀喖宕楀鍫濈€柣妤嬫嫹
Mac閻庣懓顦畷婊兾熼埄鍐ㄧ彲闁革綇鎷�(ARC Welder)v1.0 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�Mac閻庣懓顦畷婊兾熼埄鍐ㄧ彲闁革綇鎷�(ARC Welder)v1.0 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
Charles for MacV3.9.3閻庤蓱閺岀喖鎮ч敓锟�Charles for MacV3.9.3閻庤蓱閺岀喖鎮ч敓锟�
缂傚啯鍨圭划璺侯啅閵夈儱寰�
闁瑰吋绮庣€氬秴霉韫囨凹娼旈柛锝傛殨ac闁绘婢�5.2 閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�闁瑰吋绮庣€氬秴霉韫囨凹娼旈柛锝傛殨ac闁绘婢�5.2 閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�
闂佹寧鍔栧畵搴b偓骞垮灪閸╂稓绮╅惀鐞闁绘婀�1.33閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�闂佹寧鍔栧畵搴b偓骞垮灪閸╂稓绮╅惀鐞闁绘婀�1.33閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
闊浂鍋嗘晶鐢縜c闁绘婢�1.3.2 閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�闊浂鍋嗘晶鐢縜c闁绘婢�1.3.2 閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�
闁哄鑳堕崑锝嗙閺冨倻鎳塎ac闁绘鎷�7.13婵繐绲界槐锟犳偋閿燂拷闁哄鑳堕崑锝嗙閺冨倻鎳塎ac闁绘鎷�7.13婵繐绲界槐锟犳偋閿燂拷
濠殿垱甯婄紞瀣啅閵夈儱寰�
Apple Logic Pro xV10.3.2Apple Logic Pro xV10.3.2
Adobe Premiere Pro CC 2017 mac闁绘婢�11.0.0 濞戞搩鍘介弸鍐偋閿燂拷Adobe Premiere Pro CC 2017 mac闁绘婢�11.0.0 濞戞搩鍘介弸鍐偋閿燂拷
闁告鍟畷鍫ユ濞嗗繑鍎擬ac闁绘婀�9.1.1 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�闁告鍟畷鍫ユ濞嗗繑鍎擬ac闁绘婀�9.1.1 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
Mac缂傚啯鍨圭划鍫曟儎鐎涙ɑ灏¢弶鐑嗗灟濞嗭拷(MacTV)v0.121 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�Mac缂傚啯鍨圭划鍫曟儎鐎涙ɑ灏¢弶鐑嗗灟濞嗭拷(MacTV)v0.121 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
Adobe Fireworks CS6 Mac闁绘婀慡6閻庤蓱閺岀喓绮婚埀顒佹媴閹捐尪鍘柡鍌氭川婢э拷Adobe Fireworks CS6 Mac闁绘婀慡6閻庤蓱閺岀喓绮婚埀顒佹媴閹捐尪鍘柡鍌氭川婢э拷
闁搞儲鍎抽懜浼村炊閹冨壖
AutoCAD2015 mac濞戞搩鍘介弸鍐偋閸喐鎷眝1.0 閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�AutoCAD2015 mac濞戞搩鍘介弸鍐偋閸喐鎷眝1.0 閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�
Adobe Photoshop cs6 mac闁绘婢�13.0.3 閻庤蓱閺岀喐绋夐鐔哥€柣妤嬫嫹Adobe Photoshop cs6 mac闁绘婢�13.0.3 閻庤蓱閺岀喐绋夐鐔哥€柣妤嬫嫹
Mac闁活厹鍨介崳铏圭磼濡儤绂堥弶鐑嗗灟濞嗭拷(Sketch mac)v3.3.2 濞戞搩鍘介弸鍐偋閿燂拷Mac闁活厹鍨介崳铏圭磼濡儤绂堥弶鐑嗗灟濞嗭拷(Sketch mac)v3.3.2 濞戞搩鍘介弸鍐偋閿燂拷
Adobe After Effects cs6 mac闁绘婢�1.0濞戞搩鍘介弸鍐偋閿燂拷Adobe After Effects cs6 mac闁绘婢�1.0濞戞搩鍘介弸鍐偋閿燂拷
Adobe InDesign cs6 mac1.0 閻庤蓱閺岀喐绋夐鐔哥€柣妤嬫嫹Adobe InDesign cs6 mac1.0 閻庤蓱閺岀喐绋夐鐔哥€柣妤嬫嫹
閹煎瓨姊婚弫銈嗘姜椤栨瑦顐�
Mac闁绘鐗嗛幓鈺呭箻閿燂拷1.1.26 閻庤蓱閺岀喎顫㈤敐鍛闁绘婧俤mg]Mac闁绘鐗嗛幓鈺呭箻閿燂拷1.1.26 閻庤蓱閺岀喎顫㈤敐鍛闁绘婧俤mg]
Mac閻犲洩顕ч崯鎻楾FS(Paragon NTFS for Mac)12.1.62 閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�Mac閻犲洩顕ч崯鎻楾FS(Paragon NTFS for Mac)12.1.62 閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�
閺夆晛鎳樺ù锟�10 for macv3.4.1.4368 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�閺夆晛鎳樺ù锟�10 for macv3.4.1.4368 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
Mac濞戞挸顑嗗〒璺侯嚕閸濆嫨浜i柣銊ュ闁绱掗悢鍝ヮ伕闁荤偛妫楁导鎰板礂閿燂拷(CleanMyMac for mac)v3.1.1 婵繐绲界槐锟犳偋閿燂拷Mac濞戞挸顑嗗〒璺侯嚕閸濆嫨浜i柣銊ュ闁绱掗悢鍝ヮ伕闁荤偛妫楁导鎰板礂閿燂拷(CleanMyMac for mac)v3.1.1 婵繐绲界槐锟犳偋閿燂拷
闁兼槒顫夐悘濉€ootCamp5.1.5640 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�闁兼槒顫夐悘濉€ootCamp5.1.5640 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
ios缂佲偓閸欍儲鍞夐柤鍗烇工閵囷拷
鐎甸偊鍠曟穱濂縫ad闁绘鎷�2020v7.0.12 閻庤蓱閺岀喖鎮ч敓锟�鐎甸偊鍠曟穱濂縫ad闁绘鎷�2020v7.0.12 閻庤蓱閺岀喖鎮ч敓锟�
iphone闁归潧顑嗗┃鈧琿q2021v8.5.0 閻庤蓱閺岀喖鎮ч敓锟�iphone闁归潧顑嗗┃鈧琿q2021v8.5.0 閻庤蓱閺岀喖鎮ч敓锟�
闁哄嫭鎸锋穱濂縊S闁绘婢�7.3.13 iPhone闁绘鎷�闁哄嫭鎸锋穱濂縊S闁绘婢�7.3.13 iPhone闁绘鎷�
闂傚嫬鐭傚锟� iphoneV8.32.4 閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�闂傚嫬鐭傚锟� iphoneV8.32.4 閻庤蓱閺岀喎顫㈤敐鍛闁绘鎷�
闁告鍟版晶锟� iphone闁绘鎷�9.2.5 閻庤蓱閺岀喖鎮ч敓锟�闁告鍟版晶锟� iphone闁绘鎷�9.2.5 閻庤蓱閺岀喖鎮ч敓锟�
ios闁汇垻鍠愬鍧楀嫉瀹ュ懎顫�
99濞戞挶鍎甸埀顒€顦板〒鍫曞棘閹殿喖顣糣1.3.699濞戞挶鍎甸埀顒€顦板〒鍫曞棘閹殿喖顣糣1.3.6
闊浂鍋嗘晶鐢禤hone闁绘鎷�5.7.3 閻庤蓱閺岀喖鎮ч敓锟�闊浂鍋嗘晶鐢禤hone闁绘鎷�5.7.3 閻庤蓱閺岀喖鎮ч敓锟�
婵烇絾锚閻わ拷 for iPhonev9.5.15 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�婵烇絾锚閻わ拷 for iPhonev9.5.15 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
濠⒀佸姀閹舵寰勯埡鍌滄瘻 for iphoneV7.5.3閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣糏PA濠⒀佸姀閹舵寰勯埡鍌滄瘻 for iphoneV7.5.3閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣糏PA
閻犲鏀遍悺鏇㈠捶閺夋寧绂坕phone(Google Maps)4.54  濞戞搩鍘介弸鍐偋閿燂拷閻犲鏀遍悺鏇㈠捶閺夋寧绂坕phone(Google Maps)4.54 濞戞搩鍘介弸鍐偋閿燂拷
ios鐟滀即浜堕悡鑸电箾閸欐ḿ顔�
闊浂鍋呴幐閬嶆嚐鐟欏嫮浜柣妤€婀�3.3.35 閻庤蓱閺岀喖鎮ч崷绯筽a]闊浂鍋呴幐閬嶆嚐鐟欏嫮浜柣妤€婀�3.3.35 閻庤蓱閺岀喖鎮ч崷绯筽a]
闁告艾顦幃蹇氥亹闁秶鍙鹃柟缁㈠幗閺備線宕抽埡顧祍闁绘鎷�1.0.1017 闁兼槒顫夐悘濉眕ad闁绘鎷�闁告艾顦幃蹇氥亹闁秶鍙鹃柟缁㈠幗閺備線宕抽埡顧祍闁绘鎷�1.0.1017 闁兼槒顫夐悘濉眕ad闁绘鎷�
鐟滀即浜堕悡鍫曞礂閸儲鏁遍柟缁㈠幗閺備線宕抽埡顧祍闁绘鎷�2.8.0 閻庤蓱閺岀喖鎮ч敓锟�鐟滀即浜堕悡鍫曞礂閸儲鏁遍柟缁㈠幗閺備線宕抽埡顧祍闁绘鎷�2.8.0 閻庤蓱閺岀喖鎮ч敓锟�
闁哄倹顨婃總鏃堟儎鐎涙ɑ灏¢悗骞垮灪閸╂稓绮╅惀鐖媠闁绘鎷�7.0.1 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�闁哄倹顨婃總鏃堟儎鐎涙ɑ灏¢悗骞垮灪閸╂稓绮╅惀鐖媠闁绘鎷�7.0.1 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
闂佷即顥撶€氬秹妫呴崗鍛唶 for iPhonev10.9.0 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�闂佷即顥撶€氬秹妫呴崗鍛唶 for iPhonev10.9.0 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
ios闁搞儲鍎抽懜浼村炊閹冨壖
How old do I look ios闁绘鎷�1.02 閻庤蓱閺岀喖鎮ч敓锟�How old do I look ios闁绘鎷�1.02 閻庤蓱閺岀喖鎮ч敓锟�
缂傚洤楠稿ù妯肩矓閳ь剛绮旈埀鐞睵hone闁绘婀�8.6.62 闁哄牃鍋撻柡鍌滃椤掓粌顕h箛鏇烆暭缂傚洤楠稿ù妯肩矓閳ь剛绮旈埀鐞睵hone闁绘婀�8.6.62 闁哄牃鍋撻柡鍌滃椤掓粌顕h箛鏇烆暭
婵ɑ娼欏畵鍐⒓閻斿吋姣愰柤鏄忣潐閻忓鎮ч崸锟�1.0.0婵ɑ娼欏畵鍐⒓閻斿吋姣愰柤鏄忣潐閻忓鎮ч崸锟�1.0.0
濠㈠灈鏅涢妵濉搁柛銉х┉pad闁绘鎷�5.7.4 閻庤蓱閺岀喖鎮ч敓锟�濠㈠灈鏅涢妵濉搁柛銉х┉pad闁绘鎷�5.7.4 閻庤蓱閺岀喖鎮ч敓锟�
闊浂鍋呮晶娓媜s闁绘婀�9.6.30 閻庤蓱閺岀喖鎮ч敓锟�闊浂鍋呮晶娓媜s闁绘婀�9.6.30 閻庤蓱閺岀喖鎮ч敓锟�
ios婵炴潙绻楅~宥咁啅閵夈儱寰�
闁煎啿鑻€垫﹢宕烽弶鎸庣ios闁绘鎷�1.0 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�闁煎啿鑻€垫﹢宕烽弶鎸庣ios闁绘鎷�1.0 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
闁归潧顑嗗┃鈧悗鐟邦槸閸欏繘宕濋埡鍌氼杹闁兼槒顫夐悘澶愭偋閸э拷1.0 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�闁归潧顑嗗┃鈧悗鐟邦槸閸欏繘宕濋埡鍌氼杹闁兼槒顫夐悘澶愭偋閸э拷1.0 閻庤蓱閺岀喖寮甸埀顒勫棘閹殿喖顣�
UC婵炴潙绻楅~宥夊闯閳猴拷113.5.5.1555濞戞搩鍘介弸鍐偋閿燂拷UC婵炴潙绻楅~宥夊闯閳猴拷113.5.5.1555濞戞搩鍘介弸鍐偋閿燂拷
360婵炴潙绻楅~宥夊闯閳╁ for iPadV4.1.3  婵繐绲界槐锟犳偋閿燂拷360婵炴潙绻楅~宥夊闯閳╁ for iPadV4.1.3 婵繐绲界槐锟犳偋閿燂拷
iPhone闁归潧顑嗗┃鈧琎Q婵炴潙绻楅~宥夊闯閳猴拷8.9.1 閻庤蓱閺岀喖鎮ч敓锟�iPhone闁归潧顑嗗┃鈧琎Q婵炴潙绻楅~宥夊闯閳猴拷8.9.1 閻庤蓱閺岀喖鎮ч敓锟�

首页编程开发C#.NET → C#中几种常见的异步处理的方法

C#中几种常见的异步处理的方法

相关软件相关文章发表评论 来源:本站整理时间:2010/11/13 0:15:55字体大小:A-A+

作者:佚名点击:637次评论:3次标签: 异步处理

4种常用进制转换器V5.0.0.3绿色版
  • 类型:教育学习大小:110KB语言:中文 评分:7.5
  • 标签:进制转换器
立即下载
先大概看一下控制台应用程序的Main方法的主要代码:

001 static bool done = false;

002 static decimal count2 = 0;

003 static int threadDone = 0;//标志启用线程数?

004 static System.Timers.Timer timer = new System.Timers.Timer(1000);

005

006 static decimal[] threadPoolCounters = new decimal[10];

007 static Thread[] threads = new Thread[10];

008 static System.Timers.Timer[] threadTimers = new System.Timers.Timer[10];

009

010 static void Main(string[] args)

011 {

012 timer.Stop();

013 /*当 AutoReset 设置为 false 时,Timer 只在第一个 Interval 过后引发一次 Elapsed 事件。

014 若要保持以 Interval 时间间隔引发 Elapsed 事件,请将 AutoReset 设置为 true。*/

015 timer.AutoReset = false;

016 timer.Elapsed += new ElapsedEventHandler(OnTimerEvent);//当timer.Start()时,触发事件

017 decimal total = 0;

018

019 // raw test

020 decimal count1 = SingleThreadTest();//单一线程,一跑到底

021 Console.WriteLine("Single thread count = " + count1.ToString());

022

023 // create one thread, increment counter, destroy thread, repeat

024 Console.WriteLine();

025 CreateAndDestroyTest();//创建一个线程,运算,然后销毁该线程 重复前面的动作

026 Console.WriteLine("Create and destroy per count = " + count2.ToString());

027

028 // Create 10 threads and run them simultaneously

029 //一次性创建10个线程,然后遍历使线程执行运算

030 Console.WriteLine();

031 InitThreadPoolCounters();

032 InitThreads();

033 StartThreads();

034 while (threadDone != 10) { };

035 Console.WriteLine("10 simultaneous threads:");

036 for (int i = 0; i < 10; i++)

037 {

038 Console.WriteLine("T" + i.ToString() + " = " + threadPoolCounters[i].ToString() + " ");

039 total += threadPoolCounters[i];

040 }

041 Console.WriteLine("Total = " + total.ToString());

042 Console.WriteLine();

043

044 Console.WriteLine("///////////////////////////////////////////////////");

045

046 // using ThreadPool

047 //直接通过线程池的QueueUserWorkItem方法,按队列执行10个任务

048 Console.WriteLine();

049 Console.WriteLine("ThreadPool:");

050 InitThreadPoolCounters();

051 QueueThreadPoolThreads();

052 while (threadDone != 10) { };

053 Console.WriteLine("ThreadPool: 10 simultaneous threads:");

054 total = 0;

055 for (int i = 0; i < 10; i++)

056 {

057 // threadTimers[i].Stop();

058 // threadTimers[i].Dispose();

059 Console.WriteLine("T" + i.ToString() + " = " + threadPoolCounters[i].ToString() + " ");

060 total += threadPoolCounters[i];

061 }

062 Console.WriteLine("Total = " + total.ToString());

063

064 // using SmartThreadPool

065 //通过Amir Bar的SmartThreadPool线程池,利用QueueUserWorkItem方法,按队列执行10个任务

066 Console.WriteLine();

067 Console.WriteLine("SmartThreadPool:");

068 InitThreadPoolCounters();

069 QueueSmartThreadPoolThreads();

070 while (threadDone != 10) { };

071 Console.WriteLine("SmartThreadPool: 10 simultaneous threads:");

072 total = 0;

073 for (int i = 0; i < 10; i++)

074 {

075 Console.WriteLine("T" + i.ToString() + " = " + threadPoolCounters[i].ToString() + " ");

076 total += threadPoolCounters[i];

077 }

078 Console.WriteLine("Total = " + total.ToString());

079

080 // using ManagedThreadPool

081 //通过Stephen Toub改进后的线程池,利用QueueUserWorkItem方法,按队列执行10个任务

082 Console.WriteLine();

083 Console.WriteLine("ManagedThreadPool:");

084 InitThreadPoolCounters();

085 QueueManagedThreadPoolThreads();

086 while (threadDone != 10) { };

087 Console.WriteLine("ManagedThreadPool: 10 simultaneous threads:");

088 total = 0;

089 for (int i = 0; i < 10; i++)

090 {

091 Console.WriteLine("T" + i.ToString() + " = " + threadPoolCounters[i].ToString() + " ");

092 total += threadPoolCounters[i];

093 }

094 Console.WriteLine("Total = " + total.ToString());

095

096 // using C#4.0 Parallel

097 //通过Tasks.Parallel.For进行并行运算

098 Console.WriteLine();

099 Console.WriteLine("Parallel:");

100 InitThreadPoolCounters();

101 UseParallelTasks();

102 while (threadDone != 10) { };

103 Console.WriteLine("Parallel: 10 simultaneous threads:");

104 total = 0;

105 for (int i = 0; i < 10; i++)

106 {

107 Console.WriteLine("T" + i.ToString() + " = " + threadPoolCounters[i].ToString() + " ");

108 total += threadPoolCounters[i];

109 }

110 Console.WriteLine("Total = " + total.ToString());

111 }

我们可以先熟悉一下大致思路。代码中,我们主要依靠输出的数字count或者total来判断哪个方法执行效率更高(原文是How Hign Can I Count?),通常输出的数字越大,我们就认为它”干的活越多“,效率越高。主要实现过程就是通过一个静态的System.Timers.Timer对象的timer实例,设置它的Interval属性和ElapsedEventHandler事件:

1 static System.Timers.Timer timer = new System.Timers.Timer(1000);

2 /*当 AutoReset 设置为 false 时,Timer 只在第一个 Interval 过后引发一次 Elapsed 事件。

3 若要保持以 Interval 时间间隔引发 Elapsed 事件,请将 AutoReset 设置为 true。*/

4 timer.AutoReset = false;

5 timer.Elapsed += new ElapsedEventHandler(OnTimerEvent);//当timer.Start()时,触发事件

其中,timer的事件触发的函数:

?1 static void OnTimerEvent(object src, ElapsedEventArgs e)

2 {

3 done = true;

4 }

每次timer.Start执行的时候,一次测试就将开始,这样可以确保测试的不同方法都在1000毫秒内跑完。

下面开始具体介绍几个方法:

A、线程

这个非常简单,就是通过主线程计算在1000毫秒内,count从0递增加到了多少:

01 /// <summary>

02 /// 单一线程,一跑到底

03 /// </summary>

04 /// <returns></returns>

05 static decimal SingleThreadTest()

06 {

07 done = false;

08 decimal counter = 0;

09 timer.Start();

10 while (!done)

11 {

12 ++counter;

13 }

14 return counter;

15 }

while判断可以保证方法在1000毫秒内执行完成。



B、多线程

这个多线程方法比较折腾,先创建线程,然后运行,最后销毁线程,这就是一个线程执行单元,重复10次这个线程执行单元。

01 /// <summary>

02 /// 创建一个线程,运算,然后销毁该线程 重复前面的动作

03 /// </summary>

04 static void CreateAndDestroyTest()

05 {

06 done = false;

07 timer.Start();

08 while (!done)

09 {

10 Thread counterThread = new Thread(new ThreadStart(Count1Thread));

11 counterThread.IsBackground = true;//后台线程

12 counterThread.Start();

13 while (counterThread.IsAlive) { };

14 }

15 }

那个ThreadStart委托对应的方法Count1Thread如下:

?1 static void Count1Thread()

2 {

3 ++count2; //静态字段count2自增

4 }

从表面上看,大家估计都可以猜到,效果可能不佳。



C、还是多线程

这个方法不判断线程的执行状态,不用等到一个线程销毁后再创建一个线程,然后执行线程方法。线程执行的方法就是根据线程的Name找到一个指定数组的某一索引,并累加改变数组的值:

01 /// <summary>

02 /// 将数组和线程数标志threadDone回到初始状态

03 /// </summary>

04 static void InitThreadPoolCounters()

05 {

06 threadDone = 0;

07 for (int i = 0; i < 10; i++)

08 {

09 threadPoolCounters[i] = 0;

10 }

11 }

12

13 /// <summary>

14 /// 初始化10个线程

15 /// </summary>

16 static void InitThreads()

17 {

18 for (int i = 0; i < 10; i++)

19 {

20 threads[i] = new Thread(new ThreadStart(Count2Thread));

21 threads[i].IsBackground = true;

22 threads[i].Name = i.ToString();//将当前线程的Name赋值为数组索引,在Count2Thread方法中获取对应数组

23 }

24 }

25

26 /// <summary>

27 /// 开始多线程运算

28 /// </summary>

29 static void StartThreads()

30 {

31 done = false;

32 timer.Start();

33 for (int i = 0; i < 10; i++)

34 {

35 threads[i].Start();

36 }

37 }

其中,每一个线程需要执行的委托方法

1 static void Count2Thread()

2 {

3 int n = Convert.ToInt32(Thread.CurrentThread.Name);//取数组索引

4 while (!done)

5 {

6 ++threadPoolCounters[n];

7 }

8 Interlocked.Increment(ref threadDone);//以原子操作的形式保证threadDone递增

9 }

在测试过程中,我们看代码:

01 // Create 10 threads and run them simultaneously

02 //一次性创建10个线程,然后遍历使线程执行运算

03 Console.WriteLine();

04 InitThreadPoolCounters();

05 InitThreads();

06 StartThreads();

07 while (threadDone != 10) { };

08 Console.WriteLine("10 simultaneous threads:");

09 for (int i = 0; i < 10; i++)

10 {

11 Console.WriteLine("T" + i.ToString() + " = " + threadPoolCounters[i].ToString() + " ");

12 total += threadPoolCounters[i];

13 }

14 Console.WriteLine("Total = " + total.ToString());

15 Console.WriteLine();

最后算出这个数组的所有元素的总和,就是这10个线程在1000毫秒内所做的事情。其中, while (threadDone != 10) { };这个判断非常重要。这个方法看上去没心没肺,线程创建好就不管它的死活了(还是管活不管死?),所以效率应该不低。

实际上,我在本地测试并看了一下输出,表面看来,按count大小逆序排列:C>A>B,这就说明多线程并不一定比单线程运行效率高。其实B之所以效率不佳,主要是由于这个方法大部分的”精力“花在线程的执行状态和销毁处理上。

注意,其实C和A、B都没有可比性,因为C计算的是数组的总和,而A和B只是简单的对一个数字进行自加。

ps:C这一块说的没有中心,想到哪写到哪,所以看起来写得很乱,如果看到这里您还觉着不知所云,建议先下载最后的demo,先看代码,再对照这篇文章。

好了,到这里,我们对线程的创建和使用应该有了初步的了解。细心的人可能会发现,我们new一个Thread,然后给线程实例设置属性,比如是否后台线程等等,其实这部分工作可以交给下面介绍的线程池ThreadPool来做(D、E和F主要介绍线程池)。



D、线程池ThreadPool

在实际的项目中大家可能使用最多最熟悉的就是这个类了,所以没什么可说的:

01 /// <summary>

02 /// ThreadPool测试

03 /// </summary>

04 static void QueueThreadPoolThreads()

05 {

06 done = false;

07 for (int i = 0; i < 10; i++)

08 {

09 ThreadPool.QueueUserWorkItem(new WaitCallback(Count3Thread), i);

10 }

11

12 timer.Start();

13 }

14

15 static void Count3Thread(object state)

16 {

17 int n = (int)state;

18 while (!done)

19 {

20 ++threadPoolCounters[n];

21 }

22 Interlocked.Increment(ref threadDone);

23 }

我们知道线程池里的线程默认都是后台线程,所以它实际上简化了线程的属性设置,更方便异步编程。

需要说明的是,线程池使用过程中会有这样那样的缺陷(虽然本文的几个线程池任务都不会受这种缺陷影响)。比如,我们一次性向线程池中加入100个任务,但是当前的系统可能只支持25个线程,并且每个线程正处于”忙碌“状态,如果一次性加入池中系统会处理不过来,那么多余的任务必须等待,这就造成等待的时间过长,系统无法响应。还好,ThreadPool提供了GetAvailableThreads方法,可以让你知道当前可用的工作线程数量。

01 static void QueueThreadPoolThreads()

02 {

03 done = false;

04 for (int i = 0; i < 10; i++)

05 {

06 //ThreadPool.QueueUserWorkItem(new WaitCallback(Count3Thread), i); //直接给程序池添加任务有时是很草率的

07

08 WaitCallback wcb = new WaitCallback(Count3Thread);

09 int workerThreads, availabeThreads;

10 ThreadPool.GetAvailableThreads(out workerThreads, out availabeThreads);

11 if (workerThreads > 0)//可用线程数>0

12 {

13 ThreadPool.QueueUserWorkItem(wcb, i);

14 }

15 else

16 {

17 //to do 可以采取一种策略,让这个任务合理地分配给线程

18 }

19 }

如果没有可用的工作线程数,必须设计一定的策略,让这个任务合理地分配给线程。

也许就是类似于上面那样的限制,很多开发者都自己创建自己的线程池,同时也就有了后面的SmartThreadPool和ManagedThreadPool大展身手的机会。



E、线程池SmartThreadPool

大名鼎鼎的SmartThreadPool,但是我从来没在项目中使用过,所以只是找了一段简单的代码测试一下:

01 /// <summary>

02 /// SmartThreadPool测试

03 /// </summary>

04 static void QueueSmartThreadPoolThreads()

05 {

06 SmartThreadPool smartThreadPool = new SmartThreadPool();

07 // Create a work items group that processes

08 // one work item at a time

09 IWorkItemsGroup wig = smartThreadPool.CreateWorkItemsGroup(1);

10

11 done = false;

12 timer.Start();

13 for (int i = 0; i < 10; i++)

14 {

15 wig.QueueWorkItem(new WorkItemCallback(Count4Thread), i);

16 }

17 // Wait for the completion of all work items in the work items group

18 wig.WaitForIdle();

19 smartThreadPool.Shutdown();

20 }

21

22 static object Count4Thread(object state)

23 {

24 int n = (int)state;

25 while (!done)

26 {

27 ++threadPoolCounters[n];

28 }

29 Interlocked.Increment(ref threadDone);

30 return null;

31 }

自从收藏这个SmartThreadPool.dll后,我还从没有在项目中使用过。查看它的源码注释挺少也挺乱的,不知道有没有高人知道它的一个效率更好的方法。您也可以看看英文原文,自己尝试体验一下。如果您熟悉使用SmartThreadPool,欢迎讨论。



F、线程池ManagedThreadPool

Stephen Toub这个完全用C#托管代码实现的线程池也非常有名,在Marc Clifton的英文原文中,作者也不吝溢美之词,赞它“quite excellent”,于我心有戚戚焉:

01 /// <summary>

02 /// ManagedThreadPool测试

03 /// </summary>

04 static void QueueManagedThreadPoolThreads()

05 {

06 done = false;

07 timer.Start();

08 for (int i = 0; i < 10; i++)

09 {

10 Toub.Threading.ManagedThreadPool.QueueUserWorkItem(new WaitCallback(Count5Thread), i);

11 }

12 }

13 static void Count5Thread(object state)

14 {

15 int n = (int)state;

16 while (!done)

17 {

18 ++threadPoolCounters[n];

19 }

20 Interlocked.Increment(ref threadDone);

21 }


对于这个托管的线程池,我个人的理解,就是它在管理线程的时候,这个池里还有一个缓存线程的池,即一个ArrayList对象。它一开始就初始化了一定数量的线程,并通过ProcessQueuedItems方法保证异步执行进入池中的队列任务(那个死循环有时可能导致CPU过分忙碌),这样在分配异步任务的时候,就省去了频繁去创建(new)一个线程。同时它在实现信号量(Semaphore)的同步和线程出入队列的设计上都可圈可点,非常巧妙,强烈推荐您阅读它的源码。


G、并行运算

下面的示例,我只使用了简单的System.Threading.Tasks.Parallel.For 对应的for 循环的并行运算:

01 /// <summary>

02 /// 并行运算测试

03 /// </summary>

04 static void UseParallelTasks()

05 {

06 done = false;

07 timer.Start();

08 // System.Threading.Tasks.Parallel.For - for 循环的并行运算

09 System.Threading.Tasks.Parallel.For(0, 10, (i) => { Count6Thread(i); });

10 }

11 static void Count6Thread(object state)

12 {

13 int n = (int)state;

14 while (!done)

15 {

16 ++threadPoolCounters[n];

17 }

18 Interlocked.Increment(ref threadDone);

19 }

没有什么要特殊说明的,就是新类库的使用。看代码,好像比使用线程或线程池更加简单直接,有机会争取多用一用。我在本地测试的时候,在Release版本下,按照count的大小逆序排列,总体上G>D>F>E。需要注意到一件事,就是SmartThreadPool中排入队列的任务是一个返回值为Object的委托类型,这和其他的几个没有返回的(void类型)不同。SmartThreadPool口碑还是不错的,也许是我没有正确使用它。


最后小结一下:本文主要列举了C#中我所知道的几种常见的异步处理的方法,欢迎大家纠错或补充。
  • 进制转换器
进制转换器
(20)进制转换器
某些时候我们经常会用到进制转换,特别是涉及到计算机领域,编写各种程序。这种情况下一款简单方便的进制转换工具可以帮我们节约大量时间,你要做的就是输入值,然后按一个按钮可以即时查看结果。这里西西为大家整理了二进制四进制八进制十进制十六进制三十二进制六十四进制等各类进制转换工具。...更多>>

相关评论

阅读本文后您有什么感想? 已有人给出评价!

  • 8 喜欢喜欢
  • 3 顶
  • 1 难过难过
  • 5 囧
  • 3 围观围观
  • 2 无聊无聊

热门评论

最新评论

发表评论 查看所有评论(3)

昵称:
表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
字数: 0/500 (您的评论需要经过审核才能显示)

C#中几种常见的异步处理的方法

4种常用进制转换器闁哄秴娲ㄩ鐑芥晬閿燂拷进制转换器

4种常用进制转换器