0

是否可以修改/访问 Java 调用堆栈?例如保存和恢复?我正在考虑实现协作式多任务处理(尤其是 I/O),就像用于 python 或 haskell 的 gevent (本机执行此操作)一样。异步回调意大利面条混乱不是最好的解决方案。

4

1 回答 1

0

最简单的解决方案是拥有多个线程。您可以在服务器上高效运行多达 10,000 个线程。如果您需要的远不止这些,我建议 a) 购买第二台服务器,或 b) 使用非阻塞 IO。

一般来说,使用多线程是最简单的,对于少量线程,也是最快的。

在 Java 中有各种库可以以各种方式执行此操作。他们都遇到一个共同的问题,他们要么更慢,要么更复杂,或者两者兼而有之。

顺便说一句,我提出这一点是因为当线程上下文切换时,它会完全按照您的建议执行,但操作系统会为您执行此操作。

于 2013-07-31T16:51:32.860 回答