要完成两个服务间通讯,需要注意哪些东西?如何用C++完成两个服务间的最简单通讯,一个服务向另一个服务发消息(一个字符),另一个服务收到后立即返回一个消息(将这个字符加1),通讯完成。由于是非常简单的两个服务,都在本机完成,算是两个进程间通讯吧。
闭关修行中......
一般不说“线程间通讯”这种概念吧。因为线程间需要同步的话,由于内存地址空间共享,一般用生产者-消费者队列就可以了吧,考虑到线程安全的话,采用 blocking queue 或者无锁队列等数据结构就好了,如果同时不会出现多条消息的话,也可以省掉队列直接用公共的数据结构,归根结底也是多线程编程问题。一般需要通讯的都是不同的进程才是吧。一般来说进程通讯最好选择 TCP,即便是运行于本机的两个进程如非特殊需要也最好选用 TCP,那这样的话其实就变成了网络通讯了,那就其实是网络编程的问题了。
一般不说“线程间通讯”这种概念吧。因为线程间需要同步的话,由于内存地址空间共享,一般用生产者-消费者队列就可以了吧,考虑到线程安全的话,采用 blocking queue 或者无锁队列等数据结构就好了,如果同时不会出现多条消息的话,也可以省掉队列直接用公共的数据结构,归根结底也是多线程编程问题。一般需要通讯的都是不同的进程才是吧。一般来说进程通讯最好选择 TCP,即便是运行于本机的两个进程如非特殊需要也最好选用 TCP,那这样的话其实就变成了网络通讯了,那就其实是网络编程的问题了。