多线程回调问题
我多个线程中,调用一个回调函数CallFunction(),有可能存在同时调用的问题,现在有两个问题请教一下大家:
1.在回调中是否可以,操作界面
2.调用CallFuntction是否需要考虑线程同步的问题,
谢谢大家
[解决办法]
如果call function中没有用到全局或静态变量的话,且参数都是值传递的情况下,可以不考虑线程同步!
[解决办法]
个人观点,尽量避免在辅助线程里面操作UI,这个可能会导致一些问题。
通常ui都是在主线程里面处理的。
辅助线程产生相应的数据,然后主线程根据数据更新ui。通常是这个做法。(其实,某些系统已经禁止辅助线程操作ui了,比如Android)。
另外关于线程同步问题,主要是看你的线程是不是有共享的资源。如果有,就需要考虑上锁,可以使用windows的锁,也可以直接使用boost。
[解决办法]