我喜欢 Java 中的这一功能,您可以仅挂起一个线程并保持其他线程运行。特别是在 Netbeans 中,调试窗口中每个线程旁边都有一个暂停按钮。单击该按钮会挂起(中断)该特定线程。然后您可以调试并单步调试代码。但所有其他线程都保持运行不受干扰。
如果您有与外界(硬件、网络等)通信的线程,这尤其有用。而且你不想打扰他们,所以另一边没有超时。
这在 Visual Studio 中也可能吗(例如 2013)?到目前为止,在我看来,当我暂停程序(或命中断点)时,所有线程都会停止,并且在调试该单线程的代码时无法让某些线程运行。
我知道有一个冻结功能,它可以暂停一个线程,而其他线程继续运行。虽然很有用,但到目前为止它并不是同一件事。因为我无法单步执行该线程或检查某些变量。只有当我点击“Break All”时我才能做到这一点。但这将停止所有线程。我可能只是错过了一些东西?
我有一个显示在每个页面上的搜索框。搜索框的 JSP 代码通过图块插入到每个页面中。
搜索框有一个表单和一个操作类SearchAction,需要为下拉框预加载一些属性。班级SearchAction有一个input()方法来执行此初始化。
一些页面在主区域也有自己的表单。还有自己的动作类。他们还有一种input()方法可以进行一些预加载。
更新:
我添加了一个精简的示例,因为可能不清楚我要做什么。这是一个register.jsp带有RegisterAction. 该页面还包含搜索表单。(顺便说一句:为了保持简短,我在操作类中省略了 getter/setter 和其他内容):
register.jsp:
<s:form action="executeSearch">
<s:textfield key="name" label="Name"/>
<s:textfield key="age" label="Age"/>
<s:submit/>
</s:form>
<s:form action="executeRegister">
<s:textfield key="firstName" label="First Name"/>
<s:textfield key="lastName" label="Last Name"/>
<s:textfield key="age" label="Age"/>
<s:submit/>
</s:form>
Run Code Online (Sandbox Code Playgroud)
struts.xml:
<action name="*Search" class="action.SearchAction" method="{1}">
<result name="success">/searchresult.jsp</result>
</action>
<action name="*Register" class="action.RegisterAction" method="{1}">
<result name="input">/register.jsp</result>
<result name="success">/registerOk.jsp</result>
</action>
Run Code Online (Sandbox Code Playgroud)
SearchAction.java:
public class SearchAction extends …Run Code Online (Sandbox Code Playgroud)