1
我有一個與多個線程並行的bash腳本。每個線程檢查記錄是否存在,然後更新值,否則插入新行。 我應該關心線程併發嗎? 我應該鎖定解鎖表還是mysql照顧它?如何並行更新MySQL(MyISAM)表?
我去更新通過命令行:
#get.sh script...
# set status Downloading
mysql -uroot -pmypass -ss -e "use filestatus; call changeStatus(\"$1/$2\", 1)"
rsync -ar rsync://[email protected]/$2/ $1/$2/
if [ $? -eq 0 ];
then
# set status OK
mysql -uroot -pmypass -ss -e "use filestatus; call changeStatus(\"$1/$2\", 0)"
else
# set status ERROR
mysql -uroot -pmypass -ss -e "use filestatus; call changeStatus(\"$1/$2\", 2)"
fi
我叫幾個get.sh使用不同的參數。
預先感謝
Arman。
謝謝,我正在管理寫/更新每個線程的唯一記錄例如:線程1只管理從1開始的文件,??? 2文件2 ???,只有我想知道的是,如果每個線程寫入相同表是不危險的? – Arman 2011-01-23 20:45:33