日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python多线程框架_基于python和bash的多线程任务框架 不要让cpu闲着了

發(fā)布時(shí)間:2025/3/11 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python多线程框架_基于python和bash的多线程任务框架 不要让cpu闲着了 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

[Bash shell] 純文本查看 復(fù)制代碼#! /bin/bash

##########################################################################################################

#part1:defile your job(第一部分,定義單核任務(wù),需要根據(jù)你的實(shí)用任務(wù)改動(dòng))

date >>time

Nproc=40 #prcocess used here (要用的線程數(shù))

ls *ligand.mol2 >list #list of jobs (所有的任務(wù)放到一個(gè)list里面)

Njob=$(echo $(cat list|wc -l)+1|bc) #total jobs+1 (統(tǒng)計(jì)總?cè)蝿?wù)數(shù)目)

function jobrun #define your job (定義一個(gè)函數(shù)任務(wù))

{

j=$(cat list|sed -n "$1"p|cut -c 1-4) #$1 is a parameter for jobid ($1作為函數(shù)輸入 即任務(wù)號(hào) 這里首先要找到任務(wù)號(hào)對(duì)應(yīng)的分子)

prepare_dpf42.py -l $j"_ligand.pdbqt" -r $j"_receptor.pdbqt" -o tmp2 #(為了簡(jiǎn)單期間這里沒(méi)有寫(xiě)如何計(jì)算格子 如何計(jì)算格點(diǎn)文件 這里是從準(zhǔn)備dpf文件開(kāi)始)

autodock4 -p $j.dpf -l $j.dlg #(對(duì)接)

}

##############################################################################################################

#part2:mutiple process framwork (第二部分,多線程框架,可以不用懂不用改動(dòng))

PID=() #PID is an array to store the pid of your job (PID 用于儲(chǔ)存每個(gè)線程的pid)

for ((i=1;i

do

for ((Ijob=0; Ijob

do

if [[ $i -ge $Njob ]]; #(如果任務(wù)都完成了就退出循環(huán))

then

break;

fi

if [[ ! "${PID[Ijob]}" ]] || ! kill -0 ${PID[Ijob]} 2> /dev/null; then #(如果線程沒(méi)有被占用)

echo start $i with $Ijob

jobrun $i $Ijob& #(用Ijob線程執(zhí)行任務(wù)i)

PID[Ijob]=$! #(任務(wù)完成 釋放線程Ijob)

i=$((i+1))

fi

done

##########################################################################################

wait #(等所有線程都空閑下來(lái))

done

echo job finished!

date >>time

總結(jié)

以上是生活随笔為你收集整理的python多线程框架_基于python和bash的多线程任务框架 不要让cpu闲着了的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。