import threading
from basesite.backend.strategy.websocket_break_double_position_strategy import breakstrategy
from basesite.utils.okexutils.okexwebsocket import run_websocket
from basesite.utils.okexutils.okex import okex
counter_lock = threading.lock() # 鎖
class mythread(threading.thread):
def __init__(self, ok, break_strategy):
super(mythread, self).__init__()
self.ok = ok
self.break_strategy = break_strategy
def run(self): # 定義每個執行緒要執行的函式
# counter_lock.acquire()
run_websocket(self.ok, self.break_strategy)
# counter_lock.release()
if __name__ == '__main__':
symbol_list = ["btc_usd", "ltc_usd", "etc_usd", "eth_usd", "xrp_usd", "eos_usd", "bch_usd"]
contract_type_list = ["this_week", "next_week", "quarter"]
ktype = '5min'
loss_point = -0.005
profit_dict =
buy_amount = 3
strategy = 'sar_break'
thread_list =
for symbol in symbol_list:
for contract_type in contract_type_list:
ok = okex()
ok.symbol = symbol
ok.contract_type = contract_type
ok.ktype = ktype
ok.loss_point = loss_point
ok.profit_dict = profit_dict
ok.buy_amount = buy_amount
ok.strategy = strategy
break_strategy = breakstrategy()
for my_thread in thread_list:
my_thread.start()
# join所完成的工作就是執行緒同步,即主線程任務結束之後,進入阻塞狀態,一直等待其他的子執行緒執行結束之後,主線程在終止
for my_thread in thread_list:
my_thread.join()
Python多執行緒應用示例
實現任務描述如下 建立多個子執行緒,共同訪問乙個佇列中的元素,並執行相應操作。要求要按照元素的執行要按照佇列順序,並且元素的執行不能有重複。示例 如下 sample to show the usage of multithread import threading commonlist range ...
vector在實際多執行緒開發中的應用
首先宣告使用vector的時候執行緒並不是安全的,使用get訪問vector時出現了越界,這裡只是講述筆者在實際開發中vector的應用 1 初始化乙個實體類 usersynandsubs usersynandsub new usersynandsubs 實體類usersynandsubs 有對應的...
多執行緒在實際專案中的簡單應用
專案中如何使用多執行緒專案業務場景 批量頁面靜態化 在系統中,商品詳情頁我們使用freemarker來進行頁面靜態化,每天夜裡12點開始要對所有商品頁面進行一遍靜態化,由於商品數量比較多 如果使用單執行緒將耗時過長,我們使用乙個定長線程池進行批量執行,將任務放在佇列中,多個執行緒同時領取並執行。訂單...