这几天专门解决了崩溃问题,初步结论都是多线程问题。解决之后,有以下总结:
所谓多线程问题,就是多线程同时访问一个对象,导致崩溃。
要解决多线程问题,关键就是要保证每个线程访问不同的对象。也就是采用复制措施。如果是担心内存使用过多,可以使用对象复用的办法解决。
将数据由源线程向目标线程复制时,可能存在同时访问的可能。这时要加锁互斥。
有人说,咱不用线程行不?吾亦主张尽量不用线程。现实中,功能一多,用线程是无法避免的。而麻烦的事情是,在C中线程崩溃后,很难查找真正的原因。这个时候就是不要节省内存,能复制的(特别是指针)都复制了。
祝大家身体健康,工作顺利。