作者mentchin (门庆)
看板java
标题[问题] socket thread相关问题
时间Sun Mar 19 20:34:10 2017
各位前辈好
小弟目前做出了个手机为主机,arduino*2为客户端的架构
以socket方式连线。
主要需求为经由内部计时,根据时间传送资料给arduino
我产生了三个thread 两个是socket,另一个是计时用
但目前遇到了个难题,我全部的变数都是用global
根据计时用的变数转换,让socket thread知道该做什麽事
可是这样的方式出现了问题,当计时thread改变了变数後,
socket却不能根据改变而传送资料。
但是,我在过程中主动让arduino传送字串给手机时
刚刚手机要说的话却瞬间传给arduino。
也就是说,
手机根据计时资料判断後无法主动传送字串给arduino
是我用global 变数改变让各个thread知道该做什麽事情
这方式有误吗?
谢谢您的阅读
▁
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.228.230.200
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1489926852.A.B8E.html
1F:→ pttworld: 二个thread各有变数,set後thread判断才送。03/19 21:30
请问是什麽意思呢?是我要用区域变数去读取那全域变数吗?
2F:→ ssccg: 你的计时thread改变数时,socket thread在做什麽?03/19 21:48
3F:→ ssccg: socket thread是有不断在检查那变数有没有变?03/19 21:49
socket是利用一个无穷回圈不断循环的。就while(socket.isconnected())内。这样方式
有问题吗?
4F:→ cowbaying: 你应该是做一个推送的MAP THREAD去找各自KEY的内容03/19 22:23
5F:→ cowbaying: 才不会出问题03/19 22:23
有其他简单的做法吗?我要传递的变数非常非常少。
※ 编辑: mentchin (180.204.209.101), 03/20/2017 16:59:49