【发布时间】:2017-11-07 10:45:29
【问题描述】:
我正在编写一个处理大型数据集的 Java 应用程序 - 将其转换为大小约为 100 - 150Gb 的 sqlite3 数据库。这需要一段时间,所以我需要我的笔记本电脑(Macbook Air)运行几天。
作为一名学生,我还需要在外面使用我的笔记本电脑,所以我不能保证我总是可以使用电源。在 OSX 运行大约四分之一时,它进入睡眠状态,然后在试图唤醒时崩溃,破坏了宝贵的 30Gb 数据。
我想做的是检测操作系统将从 java 进入睡眠状态,然后安全地终止程序。这是可能的还是有更好的解决方案(除了显而易见的 - 不要在电池供电时运行应用程序)?我在网上找到的唯一信息是使用带有 I/O 套件的目标 c。
【问题讨论】:
-
为什么不关闭 Macbook 的自动睡眠功能?
-
使用合适大小的事务即可。
-
@saifahmad 因为我不能保证有足够的电池来在两次充电之间继续执行 - 如果需要,我需要能够睡眠,然后在我重新连接电源时恢复
-
@CL。如果它在交易过程中休眠怎么办?
-
如果一个事务花费太多时间,它的大小不合适。 ☺ 无论如何,交易量应该足够小,以免你损失太多。