是否有人知道允许在代码中的某些点显式切换线程的工具?
我正在为我的学士论文测试软件事务内存,对于这些测试,我需要线程的特定执行顺序(例如,线程1读取2个变量,之后切换到线程2并写入变量等)。问题是,实现STM的软件库禁止代码中的普通java同步方法,所以我不能使用同步块,锁或信号量。
我希望有人知道像Concurrit这样的工具(https://code.google.com/archive/p/concurrit/),仅限Java ...
答案 0 :(得分:0)
不存在此类工具。你可以实现这样的事情的唯一方法是(彻底)修改JVM本身,取代现有的线程调度机制。那本身就是一个不切实际的大项目。
意见:Concurrit DSL并非设计为实用的编程语言,并且将其提供给实用编程语言的机制添加到最有可能使其不具备性能。当然,对于像Java这样的高性能 1 语言实现这样的工具,不太可能有很大的热情。
1 - 相对来说。