利用python多執行緒更新資料

2021-08-11 05:31:51 字數 1045 閱讀 1271

需求背景:

從一張大表中取記錄更新另一張大表的的字段,如採用oracle直接update ,好久都沒有更新完成的。

處理:採用python,主線程游標查詢原始表,開啟執行緒從游標中讀取記錄,批量更新目標大表的字段。

#!/usr/bin/python

#coding: utf-8

import cx_oracle as dbdrive

import os,queue

from threading import lock,thread

os.environ['nls_lang'] = 'simplified chinese_china.utf8'

from ultity.oraclehelper import dbhelper

#使用時只需要配置這兩個sql

selectsql="select res10,serv_id from tmp_serv_gridflag "

updatesql="update tmp_serv_gridflag1 set res10=:1 where serv_id=:2"

con=dbdrive.connect("user","passwd",'ip:1521/orcl')

cur=con.cursor()

cur.execute(selectsql)

lock=lock()

def update():

o=dbhelper()

while true:

lock.acquire()

rlt=cur.fetchmany(800)

lock.release()

if len(rlt)==0:

break

#sql="insert into tmp_serv_gridflag1 values(:1,:2)"

o.run_batch(updatesql, rlt)

for i in range(10):

t=thread(target=update)

t.start()

WPF DataGrid多執行緒更新資料顯示

datagrid的資料來源的載入需要大量io操作,不可能等資料全部讀取之後才顯示到ui上。由於對wpf資料繫結不很熟悉,對observecollection等內容沒有太多時間去研究,只能用一些取巧的辦法了。設定datagrid的資料來源,只要修改itemssource屬性就可以了,如下 list d...

python多執行緒 python多執行緒

通常來說,多程序適用於計算密集型任務,多執行緒適用於io密集型任務,如網路爬蟲。關於多執行緒和多程序的區別,請參考這個 下面將使用python標準庫的multiprocessing包來嘗試多執行緒的操作,在python中呼叫多執行緒要使用multiprocessing.dummy,如果是多程序則去掉...

python多執行緒詳解 Python多執行緒詳解

前言 由於最近的工作中一直需要用到python去處理資料,而在面對大量的資料時,python多執行緒的優勢就展現出來了。因而藉此機會,盡可能詳盡地來闡述python多執行緒。但對於其更底層的實現機制,在此不做深究,僅是對於之前的一知半解做個補充,也希望初學者能夠通過這篇文章,即便是照葫蘆畫瓢,也能夠...