I want to be able to run multiple threads without actually making a new line for every thread I want to run. In the code below I cannot dynamically add more accountIDs, or increase the #of threads just by changing the count on thread_count
For example this is my code now:
    import threading
    def get_page_list(account,thread_count):
        return list_of_pages_split_by_threads
    def pull_data(page_list,account_id):
        data = api(page_list,account_id)
        return data
    if __name__ == "__main__":
        accountIDs = [100]
        #of threads to make:
        thread_count = 3
        #Returns a list of pages ie : [[1,2,3],[4,5,6],[7,8,9,10]]
        page_lists =  get_page_list(accountIDs[0],thread_count)
        t1 = threading.Thread(target=pull_data, args=(page_list[0],accountIDs[0]))
        t2 = threading.Thread(target=pull_data, args=(page_list[1],accountIDs[0]))
        t3 = threading.Thread(target=pull_data, args=(page_list[2],accountIDs[0]))
        t1.start()
        t2.start()
        t3.start()
        t1.join()
        t2.join()
        t3.join()
This is where I want to get to:
Anytime I want to add an additional thread if the server can handle it or add additional accountIDs I dont have to reproduce the code?
IE (This example is what I would like to do, but the below doesnt work it tries to finish a whole list of pages before moving on to the next thread)
if __name__ == "__main__":
    accountIDs = [100,101,103]
    thread_count = 3
    for account in accountIDs:
        page_lists =  get_page_list(account,thread_count)
        for pg_list in page_list:
            t1 = threading.Thread(target=pull_data, args=(pg_list,account))
            t1.start()
            t1.join()
 
    