Python多线程技术增加网站帖子的查看量
生活随笔
收集整理的這篇文章主要介紹了
Python多线程技术增加网站帖子的查看量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
據說Python多線程是偽多線程,本質上是單線程,經測試,效果確實不好,速度遠比不上pthread多線程。
其實,Python本來就比C慢,沒法比的。不過Python簡單,這點pthread永遠比不了。
注:千萬不能惡意刷站,否則后果自負,哈哈~~~
import threading import urllib.error import urllib.requestTIMES = 10000 URL = "http://bbs.tianya.cn"class WorkerThread(threading.Thread):def __init__(self, name):threading.Thread.__init__(self)self.name = namedef run(self):while True:WorkerThread.LOCK.acquire()WorkerThread.COUNT = WorkerThread.COUNT + 1if WorkerThread.COUNT > WorkerThread.TIMES:WorkerThread.LOCK.release()breakprint('線程名稱:%s\t讀取次數:%d' % (self.name, WorkerThread.COUNT))WorkerThread.LOCK.release()try:urllib.request.urlopen(WorkerThread.URL).read()except (urllib.error.URLError, ConnectionResetError, Exception):print('線程名稱:%s\t讀取失敗' % (self.name, ))def thread_demo():for i in range(100):WorkerThread("Worker_%02d" % (i, )).start()if __name__ == '__main__':WorkerThread.URL = URLWorkerThread.COUNT = 0WorkerThread.TIMES = TIMESWorkerThread.LOCK = threading.RLock()thread_demo()運行結果:
"C:\Program Files\Python\python.exe" "D:/Pycharm Projects/PyDemo/ThreadDemo.py" 線程名稱:Worker_00 讀取次數:1 線程名稱:Worker_01 讀取次數:2 線程名稱:Worker_02 讀取次數:3 線程名稱:Worker_03 讀取次數:4 線程名稱:Worker_04 讀取次數:5 線程名稱:Worker_05 讀取次數:6 線程名稱:Worker_06 讀取次數:7 線程名稱:Worker_07 讀取次數:8 線程名稱:Worker_08 讀取次數:9 線程名稱:Worker_09 讀取次數:10 線程名稱:Worker_10 讀取次數:11 線程名稱:Worker_11 讀取次數:12 線程名稱:Worker_12 讀取次數:13 線程名稱:Worker_13 讀取次數:14 線程名稱:Worker_14 讀取次數:15 線程名稱:Worker_15 讀取次數:16 線程名稱:Worker_16 讀取次數:17 線程名稱:Worker_17 讀取次數:18 線程名稱:Worker_18 讀取次數:19 線程名稱:Worker_19 讀取次數:20 線程名稱:Worker_20 讀取次數:21 線程名稱:Worker_21 讀取次數:22 線程名稱:Worker_22 讀取次數:23 線程名稱:Worker_23 讀取次數:24 線程名稱:Worker_24 讀取次數:25 線程名稱:Worker_25 讀取次數:26 線程名稱:Worker_26 讀取次數:27 線程名稱:Worker_27 讀取次數:28 線程名稱:Worker_28 讀取次數:29 線程名稱:Worker_29 讀取次數:30 線程名稱:Worker_30 讀取次數:31 線程名稱:Worker_31 讀取次數:32 線程名稱:Worker_32 讀取次數:33 線程名稱:Worker_33 讀取次數:34 線程名稱:Worker_34 讀取次數:35 線程名稱:Worker_35 讀取次數:36 線程名稱:Worker_36 讀取次數:37 線程名稱:Worker_37 讀取次數:38 線程名稱:Worker_38 讀取次數:39 線程名稱:Worker_39 讀取次數:40 線程名稱:Worker_40 讀取次數:41 線程名稱:Worker_41 讀取次數:42 線程名稱:Worker_42 讀取次數:43 線程名稱:Worker_43 讀取次數:44 線程名稱:Worker_44 讀取次數:45 線程名稱:Worker_45 讀取次數:46 線程名稱:Worker_46 讀取次數:47 線程名稱:Worker_47 讀取次數:48 線程名稱:Worker_48 讀取次數:49 線程名稱:Worker_49 讀取次數:50 線程名稱:Worker_50 讀取次數:51 線程名稱:Worker_51 讀取次數:52 線程名稱:Worker_52 讀取次數:53 線程名稱:Worker_53 讀取次數:54 線程名稱:Worker_54 讀取次數:55 線程名稱:Worker_55 讀取次數:56 線程名稱:Worker_56 讀取次數:57 線程名稱:Worker_57 讀取次數:58 線程名稱:Worker_58 讀取次數:59 線程名稱:Worker_59 讀取次數:60 線程名稱:Worker_60 讀取次數:61 線程名稱:Worker_61 讀取次數:62 線程名稱:Worker_62 讀取次數:63 線程名稱:Worker_63 讀取次數:64 線程名稱:Worker_64 讀取次數:65 線程名稱:Worker_65 讀取次數:66 線程名稱:Worker_66 讀取次數:67 線程名稱:Worker_67 讀取次數:68 線程名稱:Worker_68 讀取次數:69 線程名稱:Worker_69 讀取次數:70 線程名稱:Worker_70 讀取次數:71 線程名稱:Worker_71 讀取次數:72 線程名稱:Worker_72 讀取次數:73 線程名稱:Worker_73 讀取次數:74 線程名稱:Worker_74 讀取次數:75 線程名稱:Worker_75 讀取次數:76 線程名稱:Worker_76 讀取次數:77 線程名稱:Worker_77 讀取次數:78 線程名稱:Worker_78 讀取次數:79 線程名稱:Worker_79 讀取次數:80 線程名稱:Worker_80 讀取次數:81 線程名稱:Worker_81 讀取次數:82 線程名稱:Worker_82 讀取次數:83 線程名稱:Worker_83 讀取次數:84 線程名稱:Worker_84 讀取次數:85 線程名稱:Worker_85 讀取次數:86 線程名稱:Worker_86 讀取次數:87 線程名稱:Worker_87 讀取次數:88 線程名稱:Worker_88 讀取次數:89 線程名稱:Worker_89 讀取次數:90 線程名稱:Worker_90 讀取次數:91 線程名稱:Worker_91 讀取次數:92 線程名稱:Worker_92 讀取次數:93 線程名稱:Worker_93 讀取次數:94 線程名稱:Worker_94 讀取次數:95 線程名稱:Worker_95 讀取次數:96 線程名稱:Worker_96 讀取次數:97 線程名稱:Worker_97 讀取次數:98 線程名稱:Worker_98 讀取次數:99 線程名稱:Worker_99 讀取次數:100 線程名稱:Worker_13 讀取次數:101 線程名稱:Worker_17 讀取次數:102 線程名稱:Worker_06 讀取次數:103 線程名稱:Worker_75 讀取次數:104 線程名稱:Worker_59 讀取次數:105 線程名稱:Worker_09 讀取次數:106 線程名稱:Worker_30 讀取次數:107 線程名稱:Worker_83 讀取次數:108 線程名稱:Worker_32 讀取次數:109 線程名稱:Worker_48 讀取次數:110 線程名稱:Worker_33 讀取次數:111 線程名稱:Worker_90 讀取次數:112 線程名稱:Worker_38 讀取次數:113 線程名稱:Worker_45 讀取次數:114 線程名稱:Worker_40 讀取次數:115 線程名稱:Worker_52 讀取次數:116 線程名稱:Worker_03 讀取次數:117 線程名稱:Worker_87 讀取次數:118 線程名稱:Worker_19 讀取次數:119 線程名稱:Worker_89 讀取次數:120 線程名稱:Worker_56 讀取次數:121 線程名稱:Worker_64 讀取次數:122 線程名稱:Worker_31 讀取次數:123 線程名稱:Worker_24 讀取次數:124 線程名稱:Worker_96 讀取次數:125 線程名稱:Worker_00 讀取次數:126 線程名稱:Worker_43 讀取次數:127 線程名稱:Worker_93 讀取次數:128 線程名稱:Worker_20 讀取次數:129 線程名稱:Worker_53 讀取次數:130 線程名稱:Worker_46 讀取次數:131 線程名稱:Worker_97 讀取次數:132 線程名稱:Worker_35 讀取次數:133 線程名稱:Worker_16 讀取次數:134 線程名稱:Worker_36 讀取次數:135 線程名稱:Worker_58 讀取次數:136 線程名稱:Worker_05 讀取次數:137 線程名稱:Worker_76 讀取次數:138 線程名稱:Worker_85 讀取次數:139 線程名稱:Worker_47 讀取次數:140 線程名稱:Worker_59 讀取次數:141 線程名稱:Worker_37 讀取次數:142 線程名稱:Worker_68 讀取次數:143 線程名稱:Worker_51 讀取次數:144 線程名稱:Worker_91 讀取次數:145 線程名稱:Worker_63 讀取次數:146 線程名稱:Worker_71 讀取次數:147 線程名稱:Worker_90 讀取次數:148 線程名稱:Worker_33 讀取次數:149 線程名稱:Worker_80 讀取次數:150 線程名稱:Worker_50 讀取次數:151 線程名稱:Worker_57 讀取次數:152 線程名稱:Worker_48 讀取次數:153 線程名稱:Worker_26 讀取次數:154 線程名稱:Worker_32 讀取次數:155 線程名稱:Worker_83 讀取次數:156 線程名稱:Worker_29 讀取次數:157 線程名稱:Worker_72 讀取次數:158 線程名稱:Worker_41 讀取次數:159 線程名稱:Worker_34 讀取次數:160 線程名稱:Worker_55 讀取次數:161 線程名稱:Worker_66 讀取次數:162 線程名稱:Worker_70 讀取次數:163 線程名稱:Worker_28 讀取次數:164 線程名稱:Worker_11 讀取次數:165 線程名稱:Worker_12 讀取次數:166 線程名稱:Worker_89 讀取次數:167 線程名稱:Worker_40 讀取次數:168 線程名稱:Worker_54 讀取次數:169 線程名稱:Worker_02 讀取次數:170 線程名稱:Worker_13 讀取次數:171 線程名稱:Worker_99 讀取次數:172 線程名稱:Worker_06 讀取次數:173 線程名稱:Worker_94 讀取次數:174 線程名稱:Worker_82 讀取次數:175 線程名稱:Worker_61 讀取次數:176 線程名稱:Worker_27 讀取次數:177 線程名稱:Worker_78 讀取次數:178 線程名稱:Worker_62 讀取次數:179 線程名稱:Worker_92 讀取次數:180 線程名稱:Worker_21 讀取次數:181 線程名稱:Worker_81 讀取次數:182 線程名稱:Worker_25 讀取次數:183 線程名稱:Worker_15 讀取次數:184 線程名稱:Worker_79 讀取次數:185 線程名稱:Worker_18 讀取次數:186 線程名稱:Worker_75 讀取次數:187 線程名稱:Worker_60 讀取次數:188 線程名稱:Worker_88 讀取次數:189 線程名稱:Worker_46 讀取次數:190 線程名稱:Worker_69 讀取次數:191 線程名稱:Worker_09 讀取次數:192 線程名稱:Worker_67 讀取次數:193 線程名稱:Worker_43 讀取次數:194 線程名稱:Worker_98 讀取次數:195 線程名稱:Worker_30 讀取次數:196 線程名稱:Worker_10 讀取次數:197 線程名稱:Worker_45 讀取次數:198 線程名稱:Worker_93 讀取次數:199 線程名稱:Worker_44 讀取次數:200 線程名稱:Worker_95 讀取次數:201 線程名稱:Worker_49 讀取次數:202 線程名稱:Worker_20 讀取次數:203 線程名稱:Worker_74 讀取次數:204 線程名稱:Worker_17 讀取次數:205 線程名稱:Worker_38 讀取次數:206 線程名稱:Worker_77 讀取次數:207 線程名稱:Worker_65 讀取次數:208 線程名稱:Worker_01 讀取次數:209 線程名稱:Worker_31 讀取次數:210 線程名稱:Worker_73 讀取次數:211 線程名稱:Worker_96 讀取次數:212 線程名稱:Worker_87 讀取次數:213 線程名稱:Worker_03 讀取次數:214 線程名稱:Worker_52 讀取次數:215 線程名稱:Worker_19 讀取次數:216 線程名稱:Worker_14 讀取次數:217 線程名稱:Worker_86 讀取次數:218 線程名稱:Worker_64 讀取次數:219 線程名稱:Worker_24 讀取次數:220 線程名稱:Worker_56 讀取次數:221 線程名稱:Worker_00 讀取次數:222 線程名稱:Worker_23 讀取次數:223 線程名稱:Worker_53 讀取次數:224 線程名稱:Worker_39 讀取次數:225 線程名稱:Worker_84 讀取次數:226 線程名稱:Worker_04 讀取次數:227 線程名稱:Worker_22 讀取次數:228 線程名稱:Worker_66 讀取次數:229 線程名稱:Worker_16 讀取次數:230 線程名稱:Worker_40 讀取次數:231 線程名稱:Worker_14 讀取次數:232 線程名稱:Worker_87 讀取次數:233 線程名稱:Worker_63 讀取次數:234 線程名稱:Worker_81 讀取次數:235 線程名稱:Worker_56 讀取次數:236 線程名稱:Worker_23 讀取次數:237 線程名稱:Worker_02 讀取次數:238 線程名稱:Worker_52 讀取次數:239 線程名稱:Worker_65 讀取次數:240 線程名稱:Worker_30 讀取次數:241 線程名稱:Worker_73 讀取次數:242 線程名稱:Worker_95 讀取次數:243 線程名稱:Worker_62 讀取次數:244 線程名稱:Worker_01 讀取次數:245 線程名稱:Worker_83 讀取次數:246 線程名稱:Worker_06 讀取次數:247 線程名稱:Worker_46 讀取次數:248 線程名稱:Worker_09 讀取次數:249 線程名稱:Worker_45 讀取次數:250 線程名稱:Worker_70 讀取次數:251 線程名稱:Worker_26 讀取次數:252 線程名稱:Worker_54 讀取次數:253 線程名稱:Worker_60 讀取次數:254 線程名稱:Worker_51 讀取次數:255 線程名稱:Worker_20 讀取次數:256 線程名稱:Worker_25 讀取次數:257 線程名稱:Worker_03 讀取次數:258 線程名稱:Worker_68 讀取次數:259 線程名稱:Worker_58 讀取次數:260 線程名稱:Worker_47 讀取次數:261 線程名稱:Worker_13 讀取次數:262 線程名稱:Worker_17 讀取次數:263 線程名稱:Worker_16 讀取次數:264 線程名稱:Worker_41 讀取次數:265 線程名稱:Worker_40 讀取次數:266 線程名稱:Worker_59 讀取次數:267 線程名稱:Worker_23 讀取次數:268 線程名稱:Worker_35 讀取次數:269 線程名稱:Worker_69 讀取次數:270 線程名稱:Worker_48 讀取次數:271 線程名稱:Worker_56 讀取次數:272 線程名稱:Worker_63 讀取次數:273 線程名稱:Worker_29 讀取次數:274 線程名稱:Worker_57 讀取次數:275 線程名稱:Worker_02 讀取次數:276 線程名稱:Worker_05 讀取次數:277 線程名稱:Worker_06 讀取次數:278 線程名稱:Worker_38 讀取次數:279 線程名稱:Worker_92 讀取次數:280 線程名稱:Worker_80 讀取次數:281 線程名稱:Worker_45 讀取次數:282 線程名稱:Worker_18 讀取次數:283 線程名稱:Worker_98 讀取次數:284 線程名稱:Worker_39 讀取次數:285Process finished with exit code -1?
總結
以上是生活随笔為你收集整理的Python多线程技术增加网站帖子的查看量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python3 内置http.clien
- 下一篇: 关于Raid0,Raid1,Raid5,