level 1
例如TCP服务器中,假设我有一个收消息的线程A,还有一个发消息的线程B。它们使用同一个插槽。A收到一个消息,比如是一个RPC调用。要求服务器返回一些数据。我想让B线程调用对应的函数(实际可能有很多个,根据A线程的要求去调用指定的一个)去发送这些数据。要怎么做呢?A线程自己返回当然可以,但是这么做就没有把收发消息分开的必要了不是吗?
2023年04月03日 06点04分
1
level 12
看你需求了呗。简单做。来一个开一个线程。或者顶多线程池。
如果你想做好点event loop事件循环+线程池。
2023年04月03日 06点04分
2
level 12
socket这是一对的,你把消息放一个队列里面,然后循环去取不就行了
2023年04月03日 06点04分
3
level 13
什么叫A让B做我不是很懂,我的理解是,你通过A去唤醒B做,然后B做完之后唤醒A?在返回A的结果是吧?
2023年04月03日 07点04分
5
level 7
线程外搞个共享变量,B循环读这个变量,根据A改的值调不同的函数
2023年04月03日 07点04分
8
@Z爱的主打哥z c++时代都喜欢开shm共享内存
2023年04月05日 15点04分
level 6
想学原理就用object类的wait/notify方法
想写好程序就用并发包里的CountDownLatch
都是用来解决多线程执行顺序的
2023年04月03日 07点04分
9
level 1
一般用消息队列。command消息和response消息。command生成自己的凭证,response数据里加入凭证。
2023年04月04日 04点04分
17