变历史什么的。
其实从技术名词方面来说,这部电影也挺有趣的,源代码是什么?计算机应用程序其实就是一堆二进制代码。这种二进制代码实际上是一种机器语言,能够被cpu所识别。应用程序运行时,系统将该程序的二进制代码载入内存中,然后交给cpu去识别并执行。这些二进制代码就是源代码。
进程是一个运行中的应用程序。
线程是进程中某个单一顺序的控制流。线程在进程中被创建,并且执行一定的任务,任务结束后线程终止。
线程从属于进程,一个进程可以同时包含n个线程。这n个线程在时间上是同时运行的,直到各自任务结束后终止。可以理解成高速公路上的n辆汽车,同时向前开,它们有不同的目的地,会在各自到达目的地后停下来。
从这个来解读的话,你会发现,其实真的非常形象。
首先整个世界是一个运行中的应用程序,是一个进程。我们都运行于这个进程中。
而基础是建立在一个设定上,那就是人类在死亡的时候会保留最后8分钟的记忆。电影里面的教授们认为这8分钟的记忆是“世界”这个应用程序中的一段源代码。
火车爆炸事件发生后,教授把火车上一名乘客死前8分钟的记忆(源代码)保存了下来。他的想法是,可以启动一个线程去反复执行这8分钟的代码,找到恐怖分子以避免将要在市中心发生的第二次爆炸。但是他们并没有掌握创建线程的能力,只能利用现有的线程。林队长牺牲,只剩下大脑还是活动的,这个活动的大脑就是一个线程。
而被反复启动林队长的大脑(线程),让该线程去执行那8分钟的源代码。理论上,这8分钟的源代码执行完毕后,这个线程就会终止。林队长的大脑就会从中脱离出来,回到初始状态,电影中用林队长处于一个全封闭的铁盒子中来表示这一状态。
教授的理论似乎在实际运行过程中得到了验证,因为林队长在每次任务执行8分钟后确实回到了初始状态。
然而教授错了。林队长每次在任务执行8分钟后回来的原因,并不是因为那段8分钟的源代码执行完毕了,而是因为林队长每次都死亡了,要么被炸死,要么被火车撞死,要么被恐怖分子枪