它是我的一次。 所以我在Ada中遇到併發問題。基本上我的程序部分看起來是這樣的:併發與循環
for i in 1..it loop
for x in 1..A loop
for y in 1..B
--tab(x,y):=...
end loop;
end loop;
for x in 1..A loop
for y in 1..B
--tab(x,y):=...
end loop;
end loop;
end loop;
在這個循環裏面有一些計算。我打算做的是讓這兩個「內部」循環同時工作。來自迴路1的一個元素,然後來自迴路2的一個元素元素或者少一些「對稱」。但通常我希望它看起來像這樣:第一次迭代,兩個'內部'循環同時工作,所有操作完成,迭代結束。第二次迭代相同,等等。我的問題是:我可以用ENTRY和ACCEPT語句來做到嗎?或者這是否會需要更多?如果你能指出我正確的解決方案,因爲我看過很多例子,但沒有一個適合我的問題。
在問任何問題之前,你應該回到你以前的問題,**接受**有用的答案。 –
你說得對,只是修好了。 – user2443194
我們可能需要更多信息來幫助設計並行實現。例如,如果'tab(x,y)'是共享的,並且由兩個進程更新,它可能會最好實現爲「受保護對象」,並且不需要輸入/接受語句來同步對它的訪問。這些(又名Rendezvous)可能最適合用於從一個任務傳遞到另一個任務的消息。如果你的循環不像那樣進行交互,那麼你可以使用輕量級的任務而不需要集合。 –