Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python的线程中传递参数_Python_Multithreading_Python Multithreading - Fatal编程技术网

如何在python的线程中传递参数

如何在python的线程中传递参数,python,multithreading,python-multithreading,Python,Multithreading,Python Multithreading,作为我正在开发的交易应用程序的一部分,我需要向线程发送一个参数。我已经提到了下面的链接,这些都没有工作 , , 我的代码 order_trigger_loop_initiator = threading.Thread(target=trigger(), args=[company_data['instrument_token']]) renko_loop_initiator.start() 作为线程启动的函数的一部分 def RENKO_TRIMA(token): global oh

作为我正在开发的交易应用程序的一部分,我需要向线程发送一个参数。我已经提到了下面的链接,这些都没有工作



我的代码

order_trigger_loop_initiator = threading.Thread(target=trigger(), args=[company_data['instrument_token']])
renko_loop_initiator.start()
作为线程启动的函数的一部分

def RENKO_TRIMA(token):
    global ohlc_final_1min, RENKO_Final, final_position, order_quantity, RENKO, RENKO_temp, Direction, Orderid, Target_order, Target_order_id, renko_thread_running, day_profit_percent
    try:
        renko_thread_running = "YES"
        attained_profit()
        quantity()
        positions(token)
我已经按照上面提到的网站上的建议做了,甚至试着做类似的事情

renko_loop_initiator = threading.Thread(target=RENKO_TRIMA, args=company_data['instrument_token'])

似乎什么都没用。作为参数发送的值为1270529

当我尝试上述任何一种方法时,我会收到下面的错误消息

Traceback (most recent call last):
  File "C:/Users/win10/PycharmProjects/Trading-Application/USD-INR.py", line 838, in on_ticks
    order_trigger_loop_initiator = threading.Thread(target=trigger(), args=[company_data['instrument_token']])
TypeError: trigger() missing 1 required positional argument: 'token'

在错误消息中,您正在调用
触发器
,而不是将其作为函数传递

order_trigger_loop_initiator = threading.Thread(target=trigger(), ...
                                                   # uh oh ---^
尝试只传递函数:

order_trigger_loop_initiator = threading.Thread(
    target=trigger, 
    args=[company_data['instrument_token']]
)

在错误消息中,您正在调用
触发器
,而不是将其作为函数传递

order_trigger_loop_initiator = threading.Thread(target=trigger(), ...
                                                   # uh oh ---^
尝试只传递函数:

order_trigger_loop_initiator = threading.Thread(
    target=trigger, 
    args=[company_data['instrument_token']]
)

您正在调用
触发器
(您没有在问题中发布该触发器,进行此猜测):

order_trigger_loop_initiator = threading.Thread(
  target=trigger(),
  args=[company_data['instrument_token']],
)
如果
trigger
是一个不接受任何参数并返回另一个函数的函数,那么这可能会起作用,但如果您想在另一个线程中运行
trigger
函数,则需要删除这些括号:

order_trigger_loop_initiator = threading.Thread(
  target=trigger,
  args=[company_data['instrument_token']],
)

您正在调用
触发器
(您没有在问题中发布该触发器,进行此猜测):

order_trigger_loop_initiator = threading.Thread(
  target=trigger(),
  args=[company_data['instrument_token']],
)
如果
trigger
是一个不接受任何参数并返回另一个函数的函数,那么这可能会起作用,但如果您想在另一个线程中运行
trigger
函数,则需要删除这些括号:

order_trigger_loop_initiator = threading.Thread(
  target=trigger,
  args=[company_data['instrument_token']],
)

触发器不应被称为
线程。线程(target=trigger,args=[company_data['instrument\u token']])
remove
()
触发器不应被称为
线程。线程(target=trigger,args=[company_data['instrument\u token']])
remove
()
触发后,我实际上输入了错误的代码,更新了我调用的函数名。更新了,成功了。一个小小的错误带来了巨大的不同。使用括号,我将触发器作为一个函数调用,该函数实际上将运行其他函数。但是如果没有括号,我将作为另一个线程独立运行触发器。我实际上输入了错误的代码,更新了我调用的函数名。更新了,成功了。一个小小的错误带来了巨大的不同。使用括号,我将触发器作为一个函数调用,该函数实际上将运行其他函数。但是如果没有括号,我将作为不同的线程独立运行触发器