多工管理作業

2021-09-25 11:36:43 字數 1844 閱讀 2157

1、ip 位址歸屬地批量查詢任務

注意: 使用建立子類的方式實現多執行緒任務

import threading,json

from threading import thread

import requests

class getip

(object)

: def get_add

(self,ip)

: ur1 =

''%(ip)

page = requests.

get(ur1)

dict_data = json.

loads

(page)

print

("""

%s所在城市%s

國家%s

""" % (ip, dict_data["city"], dict_data["country"]))

if __name__ ==

'__main__'

: g =

getip()

thr =

for i in range(1

,25):

t = threading.

thread

(target=g.

get_add

(i),args=

(i,)

) t.

start()

thr.

(t)[i.

join()

for i in thr]

2、基於多執行緒的批量主機存活探測

注意: 使用例項化物件的方式實現多執行緒任務

專案描述: 如果要在本地網路中確定哪些位址處於活動狀態或哪些計算機處於活動狀態,

則可以使用此指令碼。我們將依次 ping 位址, 每次都要等幾秒鐘才能返回值。這可以在 python

中程式設計,在 ip 位址的位址範圍內有乙個 for 迴圈和乙個 os.popen(「ping -q -c2」+ ip)。

專案瓶頸: 沒有執行緒的解決方案效率非常低,因為指令碼必須等待每次 ping。

from threading import thread

import os

class gethostalivethread

(thread)

: def __init__

(self, ip)

:super

(gethostalivethread, self)

.__init__()

self.ip = ip

def run

(self)

: cmd =

'ping -c1 -w1 %s &> /dev/null'

%(self.ip)

result = os.

system

(cmd)

if result !=0:

print

("%s主機沒有ping通"

%(self.ip)

)if __name__ ==

'__main__'

:print

("列印172.25.254.0網段沒有使用的ip位址"

.center(50

,'*'))

for i in range(1

,20):

ip =

'172.25.254.'

+str

(i) g =

gethostalivethread

(ip)

print

(g.run()

)

Arduino的多工管理

今天在乙個小東西,需要實現在arduino上兩個led燈不同頻率閃爍,這就麻煩了,以為arduino同時只能實現乙個函式的執行,一般情況下,處理 arduino 的多個任務,是把所有任務放在 void loop 裡,然後用 delay 控制時間。不過,任務一多,這種方法就不太方便了。這個時候我在網上...

如何提公升多工管理的能力

例如,有這樣乙個日常安排 目前10 30 5 30點睡覺,早晨5 30點起床,上班路上來回1個小時,上班時間是8 30 18點 中午可以睡午覺,晚上到19點左右才能下班 回到家吃完晚飯去跑步,回來大 概就9點多了 2天一跑 例如,有這些目標 學英語,健身,和物件一起做飯 家務 看書 那麼,該如何利用...

Liunx後台多工管理工具 「Screen」

有時我們會使用 ssh 終端連線 linux 的雲伺服器,執行一些程式 但如果斷開當前的命令列視窗,某些程式 任務就會終止執行 為了讓程式 任務在我們斷開 ssh 連線時,繼續執行,這時我們就要用到 screen 命令了 沒有預設安裝的系統要先安裝,我的系統是ubuntu 16.04 apt get...