두 작업 (coroutines)을 협조하려고했지만 아무 소용이 없었습니다. 아래는 내가 가지고있는 것입니다. 원본 또는 싱크 함수에서 printlns를 볼 수 없으며 wait() 호출이 영원히 중단 된 것으로 보입니다. 나는 또한 p (source) 태스크를 싱크 (as)를 인수로 넘겨주는 대신 글로벌 변수로 만들려고 시도했다. 그러나 그것은 sinke() 안에서 전역으로 선언 할 때도 작동하지 않는다.Julia : 코 루틴 (작업)간에 데이터 전달
이. 나는 또한() 함수를 소스 (내부 yieldto()를 호출)와 싱크 실험 한
내가 이동에서 채널 goroutines 매우 쉽게 할 수있는 발견 된 물건의 종류,하지만 난 여전히 교착 상태로 끝나는 것 같습니다.
이상적으로 데이터를 공유하는 여러 작업을 가진 사람이 있습니까? 이상적으로는 파이프 라인이나 긴 작업 체인이 있습니다.도움을 미리 감사드립니다.
println("Hello")
function source()
println("source start")
produce("start")
produce("stop")
end
function sink(p::Task)
println("sink start")
println(consume(p))
println(consume(p))
end
a = Task(source)
b = Task(() -> sink(a) )
wait(b)
wait(a)
println("Goodbye")
좋아요! 분명한 대답을 주셔서 감사합니다. 나는 줄리아가 코 루틴보다 훨씬 세밀하게 제어 할 수 있음을 알 수 있습니다. 도와 주셔서 감사합니다. –