将Java线程转换为AKKA角色

将Java线程转换为AKKA角色,akka,Akka,我有很多线程和线程池的Java应用程序。我们可以用AKKA替换线程和线程池吗 这取决于线程正在执行的操作。他们是在阻止IO还是在他们之间使用锁和共享可变数据?如果是这样的话,akka可能不太合适,因为演员通常应该避免io或锁的阻塞。另一方面,如果线程执行独立的非阻塞工作,并且可以通过消息传递进行通信,那么akka可能是一个很好的选择。这取决于线程正在执行的操作。他们是在阻止IO还是在他们之间使用锁和共享可变数据?如果是这样的话,akka可能不太合适,因为演员通常应该避免io或锁的阻塞。另一方面,

我有很多线程和线程池的Java应用程序。我们可以用AKKA替换线程和线程池吗

这取决于线程正在执行的操作。他们是在阻止IO还是在他们之间使用锁和共享可变数据?如果是这样的话,akka可能不太合适,因为演员通常应该避免io或锁的阻塞。另一方面,如果线程执行独立的非阻塞工作,并且可以通过消息传递进行通信,那么akka可能是一个很好的选择。

这取决于线程正在执行的操作。他们是在阻止IO还是在他们之间使用锁和共享可变数据?如果是这样的话,akka可能不太合适,因为演员通常应该避免io或锁的阻塞。另一方面,如果线程执行独立的非阻塞工作,并且可以通过消息传递进行通信,那么akka可能是一个很好的选择。

是的,您绝对可以。注意上面海报的回复。这并不完全准确。参与者可以执行阻塞I/O。您只需使用子参与者来表示每个阻塞连接。新手的错误是对待演员就像对待线程一样。。。在这种情况下,上面的海报的答案是正确的。但是,如果您将阻塞传递给一个较低的参与者,并且每次都使用一个临时参与者,那么您就永远不必阻塞主吞吐量

但是,请原谅我。我偏离了轨道。简言之,是的,你可以。但请记住,会有一个学习曲线。Actors编程是一种不同的范式,需要以稍微不同的方式进行处理

然而,使用actor进行并发编程比使用线程和锁定(字面上)更容易。只需让你的应用程序反应而不是基于时间,许多并发问题就不再存在了


在他们的网站上查看AKKA文档。他们非常彻底。书中还有阿克卡并发和有效阿克卡。把它们放在桌子上作为参考。

是的,你绝对可以。注意上面海报的回复。这并不完全准确。参与者可以执行阻塞I/O。您只需使用子参与者来表示每个阻塞连接。新手的错误是对待演员就像对待线程一样。。。在这种情况下,上面的海报的答案是正确的。但是,如果您将阻塞传递给一个较低的参与者,并且每次都使用一个临时参与者,那么您就永远不必阻塞主吞吐量

但是,请原谅我。我偏离了轨道。简言之,是的,你可以。但请记住,会有一个学习曲线。Actors编程是一种不同的范式,需要以稍微不同的方式进行处理

然而,使用actor进行并发编程比使用线程和锁定(字面上)更容易。只需让你的应用程序反应而不是基于时间,许多并发问题就不再存在了


在他们的网站上查看AKKA文档。他们非常彻底。书中还有阿克卡并发和有效阿克卡。把它们放在桌子上作为参考。

@YerraVen只需补充一点:需要注意的一点是,不要认为演员与线程之间有一对一的对应关系。因此,如果我有一个并行处理5个并发线程的系统,这并不意味着我可以用5个参与者来代替它,并期望以同样的方式运行。这将取决于akka框架所调度的调度程序线程。这一点大家都同意,因为最初我自己也期望类似的行为!:-)@YerraVen只是想补充一点:需要注意的一点是,不要认为演员与线程之间有一对一的对应关系。因此,如果我有一个并行处理5个并发线程的系统,这并不意味着我可以用5个参与者来代替它,并期望以同样的方式运行。这将取决于akka框架所调度的调度程序线程。这一点大家都同意,因为最初我自己也期望类似的行为!:-)