run actual chan read/write;computations in go routine; otherwise deadlock