突然灵机一动想到:多线程加锁之后不就是单线程了吗,其实在学java的时候老师应该有讲过,但是都忘记了。 Q: 多线程 lock 之后不就是单线程了吗? 答:lock并不需要锁定所有的操作。操作共享资源的时候,才需要锁定。如: string下载Url;lock(list) { 下载Url= 取出Url(list);//1毫秒锁定,只能一个线程} 下载到...
消息队列是线程安全的(消息队列自己通过加锁等机制保证消息不会在多线程竞争中丢失),任何线程都可以添加消息到这个队列中,但是只有主线程(UI线程)从中取出消息,并执行消息的响应函数,这就保证了只有主线程才去执行这些操作。 单线程消息队列机制存在一个问题:消息响应函数中不能有耗时长的、计算密集型的操作,因为主线...