func start_worker(worker_id int) { logger := log.New(os.Stdout, fmt.Sprintf("WORKER(%d): ", worker_id), log.Ldate|log.Ltime) gl_min_cost := tsp_types.GlobalCostType{} gl_min_cost.Init(tsp_types.POSITIVE_INF) curr_task_id := -1 runtime.GOMAXPROCS(runtime.NumCPU()) destination := "127.0.0.1:5000" logger.Println("worker: connect to ", destination) conn, err := net.Dial("tcp", destination) if err != nil { logger.Printf("dial error: %v", err) } curr_task_info := CurrTaskInfo{curr_task_id, gl_min_cost} go listen_server(&conn, logger, &curr_task_info) }