// Start starts the task goroutine. Start must be called exactly once for each
// task returned by NewTask.
//
// 'tid' must be the task's TID in the root PID namespace and it's used for
// debugging purposes only (set as parameter to Task.run to make it visible
// in stack dumps).
Start starts the task goroutine. Start must be called exactly once for each
task returned by NewTask.

'tid' must be the task's TID in the root PID namespace and it's used for
debugging purposes only (set as parameter to Task.run to make it visible
in stack dumps).
// Start starts the task goroutine . Start must be called exactly once for each // task returned by NewTask . // // ' tid ' must be the task ' s TID in the root PID namespace and it ' s used for // debugging purposes only ( set as parameter to Task . run to make it visible // in stack dumps ) .
func (t *Task) Start(tid ThreadID) {
	if t.runState == nil {
		return
	}
	t.goroutineStopped.Add(1)
	t.tg.liveGoroutines.Add(1)
	t.tg.pidns.owner.liveGoroutines.Add(1)
	t.tg.pidns.owner.runningGoroutines.Add(1)
	t.accountTaskGoroutineLeave(TaskGoroutineNonexistent)
	go t.run(uintptr(tid)) 
}
func ( t * Task ) Start ( tid ThreadID ) { if t . runState == nil { return } t . goroutineStopped . Add ( 1 ) t . tg . liveGoroutines . Add ( 1 ) t . tg . pidns . owner . liveGoroutines . Add ( 1 ) t . tg . pidns . owner . runningGoroutines . Add ( 1 ) t . accountTaskGoroutineLeave ( TaskGoroutineNonexistent ) go t . run ( uintptr ( tid ) ) }
Start starts the task goroutine.
Start starts the task goroutine .
// If the task was restored, it may be "starting" after having already exited. // Task is now running in system mode. // Use the task's TID in the root PID namespace to make it visible in stack dumps. // S/R-SAFE: synchronizes with saving through stops