mpi_probe()和mpi_probe()函式探測接收訊息的內容,但不影響實際接收到的訊息。我們可以根據探測到的訊息內容決定如何接收這些訊息,比如根據訊息大小分配緩衝區等等。需要說明的是,這兩個函式第乙個是阻塞方式,即只有探測到匹配的訊息才返回;第二個是非阻塞方式,即無論探測到與否都立即返回。
int mpi_probe (int source /* in */,
int tag /* in */,
mpi_comm comm
/* in */,
mpi_status* status /*out*/)
以上是阻塞型探測,直到有乙個符合條件的訊息到達,返回mpi_any_source和 mpi_any_tag
int mpi_iprobe (int source /* in */,
int tag /* in */,
mpi_comm comm
/* in */,
int * flag /*out*/,
mpi_status* status /*out*/)
以上是非阻塞型探測,無論是否有乙個符合條件的訊息到達,立即返回。有flag=true;否則flag=false
int x; float y;
int send_x = 100;
float send_y = 3.14;
mpi_comm_rank(comm, &rank);
if(rank ==0) /*0->2傳送一int型數*/
mpi_send(&send_x,1,mpi_int,2,99,comm);
else
if(rank == 1) /*1->2傳送一float型數*/
mpi_send(&send_y,1,mpi_float,2,99,comm);
else
/* 根程序接收 */
for(int i=0;i<2;i++)
單例模式的應用
單例模式能保證類僅有乙個例項,並提供乙個訪問他的全域性的訪問點。設計視窗常常需要獲取其他某個視窗的指標,以下圖為例 要在qachilddialog裡面獲取主介面qmainwindows物件的指標,可以通過如下 完成 this parentwidget parentwidget 缺點 如果對話方塊移到...
多個單例模式單例模式的應用
我們在程式設計中需要乙個單例,但不僅僅是乙個單例,更多的是需要單例中的單例 即 類a為控制器,類b為例項面板 為方便找到類a,採用單例,而類a為方便找到類b,採用單例中的單例 單例a 單例b 第二個不要用new a.getinstance b.呼叫方法 import b public class a...
多個單例模式單例模式的應用
我們在程式設計中需要乙個單例,但不僅僅是乙個單例,更多的是需要單例中的單例 即 類a為控制器,類b為例項面板 為方便找到類a,採用單例,而類a為方便找到類b,採用單例中的單例 單例a 單例b 第二個不要用new a.getinstance b.呼叫方法 import b public class a...