I am trying to troubleshoot some issues I'm having with the Python map function that is part of a larger problem I'm having with trying to run my code concurrently. Why does map() here create an empty output? It runs with no error and creates a map object, but does not create any rasters.
Set-up code:
import arcpy
import os
import arcpy
wd = r'myPath'
os.chdir(wd)
def create_raster(input):
    string_out_name = 'EmptyTIFF_' + str(input) + '.tif'
    tif = arcpy.CreateRasterDataset_management(out_path = wd, out_name = string_out_name, pixel_type = '8_BIT_UNSIGNED', number_of_bands = "1")
    string_ascii_name = string_out_name.strip('.tif') + '.asc'
    arcpy.RasterToASCII_conversion(tif, os.path.join(wd, string_ascii_name))    
myList = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
A for loop works and creates ten GeoTIFF and ten ASCII rasters:
for i in myList:
    create_raster(i)
However, when I try to use map( ), the output is empty. How can I use the map( ) function here?
map(create_raster, myList)
The reason I'm trying to use map( ) is so that I can use the multiprocessing or threading packages with something like the following (which isn't producing anything):
with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:
    executor.map(create_raster, tif_list)

create_raster()function then addprint(string_out_name + " " + string_ascii_name)at the end of that function, do you get the same problem?map()line to demonstrate how you are actually using themap()function.