要完成两个服务间通讯,需要注意哪些东西?如何用C++完成两个服务间的最简单通讯,一个服务向另一个服务发消息(一个字符),另一个服务收到后立即返回一个消息(将这个字符加1),通讯完成。由于是非常简单的两个服务,都在本机完成,算是两个进程间通讯吧。
闭关修行中......
一般不說「線程間通訊」這種概念吧。因為線程間需要同步的話,由於內存地址空間共享,一般用生產者-消費者隊列就可以了吧,考慮到線程安全的話,採用blocking queue 或者無鎖隊列等數據結構就好了,如果同時不會出現多個訊息的話,也可以省掉佇列直接用公共的資料結構,歸根究底也是多執行緒程式設計問題。一般需要通訊的都是不同的進程才是吧。一般來說進程通訊最好選擇TCP,即便是運行於本機的兩個進程如非特殊需要也最好選用TCP,那這樣的話其實就變成了網絡通訊了,那就其實是網絡編程的問題了。
一般不說「線程間通訊」這種概念吧。因為線程間需要同步的話,由於內存地址空間共享,一般用生產者-消費者隊列就可以了吧,考慮到線程安全的話,採用blocking queue 或者無鎖隊列等數據結構就好了,如果同時不會出現多個訊息的話,也可以省掉佇列直接用公共的資料結構,歸根究底也是多執行緒程式設計問題。一般需要通訊的都是不同的進程才是吧。一般來說進程通訊最好選擇TCP,即便是運行於本機的兩個進程如非特殊需要也最好選用TCP,那這樣的話其實就變成了網絡通訊了,那就其實是網絡編程的問題了。