Set Java call stack

2019-09-01 15:12发布

is it possible to modify/access the Java call stack ? For instance saving and restoring ? I'm thinking about implementing cooperative multitaskting (especially I/O) just like gevent for python or haskell (which does this natively). The async callback spaghetti mess can't be the best solution.

1条回答
等我变得足够好
2楼-- · 2019-09-01 15:20

The simplest solution is to have multiple threads. You can have up to 10,000 threads running efficiently on a server. If you need much more than this, I would suggest either a) buying a second server, or b) using non-blocking IO.

In general, using multiple threads is the simplest and for small numbers of threads, is the fastest too.

There are libraries to do this in Java in various manners. They all suffer from a common problem, they are either slower, or much more complicated or both.

BTW I make this point because when a thread context switch it does exactly what you suggest, but the OS does it for you.

查看更多
登录 后发表回答