python的Queue()在传参时失效的各种异常行为

    def process_data(self,format_list_package_queue,dic_zhuli,sql_string_need_insert_queue):
        while not format_list_package_queue.empty():
        # for x in range(0,format_list_package_queue.qsize()):
            temp_500_list = format_list_package_queue.get()
            temp_500_sql_list =[]
            for t in temp_500_list:
                if  t[31]+" "+t[32] == dic_zhuli[t[0]]: #'2020-02-01 15:00:00'
                    pass
                else:                                   #['601006','大秦铁路','7.400',.......]
                    temp_1_sql = "insert into STOCK_tick.%s (name,cdate,ctime,open,preclose,close,high,low,bid,bidding,vol,amt,bidvol1,bid1,bidvol2" \
                                 ",bid2,bidvol3,bid3,bidvol4,bid4,bidvol5,bid5,biddingvol1,bidding1,biddingvol2,bidding2,biddingvol3,bidding3,biddingvol4,bidding4,biddingvol5," \
                                 "bidding5) values ('%s','%s','%s',%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"%(t[0],t[1],t[31],t[32],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25],t[26],t[27],t[28],t[29],t[30])
                    temp_500_sql_list.append(temp_1_sql)
                    dic_zhuli[t[0]]=t[31]+" "+t[32]
            if temp_500_sql_list:
                sql_string_need_insert_queue.put(temp_500_sql_list)
            return 666

这个玩意儿,上面那个format_list_package_queue是个主线程里面传过来的参数,是个Queue对象,在这里面表现非常怪异,又不循环,有俩方法它都不循环,get()之后还不减少,吃屎吧!!!

无奈的我只有改在主线程里面直接get()出来

猜你喜欢

转载自www.cnblogs.com/DDBD/p/12318818.html