在抢占式多任务系统中,使用多线程可能得到更快的响应,竞争CPU的基本单位是线程,而你的程序使用多线程后CPU处理你的程序机会变多,而且使用多线程可以把一些运算量很大和异步等待的操作单独放到一个线程中,这样使你的程序仍然可以响应其它操作
但是线程多了也会出问题:比如写游戏,一开始想来,用多线程蛮好的, 一个敌人一个线程让他自己单独运行,可以增加灵活性和随机性还有速度会快些? 其实不然, 一方面线程多了 速度会变得很慢, 另一方面由于线程切换和执行的不确定性,会使结果变得乱七八糟,跳来跳去的感觉?,特别是一些碰撞判断时,会莫名其妙? |