2017-06-12 12 views
1

各スレッドに固有のものを印刷できるかどうかは疑問です。ここに私のスレッド実装である:各スレッド固有の文章

import requests 
import time 
import threading 
import json 
from classes.logger import Logger 
from classes.cart import Cart 
from classes.captcha import Captcha 
from classes.queue import Queue 
from classes.tools import Tools 



if __name__ == '__main__': 
    session = requests.Session() 
    lock = threading.Lock() 
    tools = Tools() 
    config = tools.load('config/config.json') 
    log = Logger().log 
    q = Queue() 
    cart = Cart(session, lock) 

    api_key = config['key']['2captcha'] 
    captcha = Captcha(api_key) 
    queue = Queue() 

    # Small, Medium, Large, one size 
    t1 = threading.Thread(target=cart.add_to_cart, args=(['carabiner','palace','silver'],'one size')) 
    t2 = threading.Thread(target=cart.add_to_cart, args=(['t-shirt','palace','bong'],'small')) 
    t1.start() 
    t2.start() 
    t1.join() 
    t2.join() 

    cart.check_cart() 

add_to_cart方法:私は考えることができる2つの方法1があり

"1 - blah blah blah" 
"2 - blah blah blah" 

答えて

2

class Cart: 

    def add_to_cart(self,keywords,size): 
     print("blah blah blah") 

のようなものを印刷することも可能です:
IDの引数をスレッドに渡すだけで、

t1 = threading.Thread(target=cart.add_to_cart, args=(['carabiner','palace','silver'],'one size', '1')) 


class Cart: 

    def add_to_cart(self,keywords,size, id): 
     print(id + "- blah blah blah") 

また、多くのスレッドを開始する予定があり、それらをすべて識別したくない場合は、thread.get_ident()の値を使用してください。

class Cart: 

    def add_to_cart(self,keywords,size): 
     print(threading.get_ident() + "- blah blah blah") 
+0

あなたはわずかな入力ミスがあります:indent - > ident。 –

+0

@IljaEveriläありがとう!インデントの入力に慣れています。これに展開するには、print()関数のオーバーロードを調べることができます。そのため、必ず文字列にidを含める必要はありません。オーバーロードすることも、独自のプリント機能を作成することもできます。 – dhdavvie

関連する問題