脚本执行父线程package com.trash.gui;import java.util.HashMap;
import java.util.LinkedList;
import java.util.regex.Pattern;public class MainThread {
private HashMap<String, SubBean> map = new HashMap<String, SubBean>();
private boolean started = false;
public MainThread(String gua){
analyze(gua);
}
/**
* 分析命令数据
* @param gua
*/
private void analyze(String gua){
gua.replace("\r", "");
String commands[] = gua.split("\n");
LinkedList<String> subcommands=null;
for (String command:commands){
if (isThreadCommnad(command)){
subcommands = new LinkedList<String>();
SubBean subBean = new SubBean();
subBean.setCommands(subcommands);
subBean.setSubThread(new SubThread(subcommands,this));
map.put(command.substring(1, command.length()-1), subBean);
}else if (subcommands!=null){
subcommands.add(command);
}
}
}
private void start(){
started = true;
SubBean bean = map.get("main");
if (bean!=null){
SubThread subThread = bean.getSubThread();
if (subThread!=null){
if (!subThread.isStarted()){
subThread.start();
}
}
}
}
private void stop(){
started = false;
}
/**
* 检查是否是线程命令
* @param str
* @return
*/
private static boolean isThreadCommnad(String str) {
return Pattern.compile("\\[[\\w\\W]*\\]").matcher(str).matches();
} public boolean isStarted() {
return started;
}
}脚本执行子线程
package com.trash.gui;import java.util.HashMap;
import java.util.LinkedList;
import java.util.regex.Pattern;public class MainThread {
private HashMap<String, SubBean> map = new HashMap<String, SubBean>();
private boolean started = false;
public MainThread(String gua){
analyze(gua);
}
/**
* 分析命令数据
* @param gua
*/
private void analyze(String gua){
gua.replace("\r", "");
String commands[] = gua.split("\n");
LinkedList<String> subcommands=null;
for (String command:commands){
if (isThreadCommnad(command)){
subcommands = new LinkedList<String>();
SubBean subBean = new SubBean();
subBean.setCommands(subcommands);
subBean.setSubThread(new SubThread(subcommands,this));
map.put(command.substring(1, command.length()-1), subBean);
}else if (subcommands!=null){
subcommands.add(command);
}
}
}
private void start(){
started = true;
SubBean bean = map.get("main");
if (bean!=null){
SubThread subThread = bean.getSubThread();
if (subThread!=null){
if (!subThread.isStarted()){
subThread.start();
}
}
}
}
private void stop(){
started = false;
}
/**
* 检查是否是线程命令
* @param str
* @return
*/
private static boolean isThreadCommnad(String str) {
return Pattern.compile("\\[[\\w\\W]*\\]").matcher(str).matches();
} public boolean isStarted() {
return started;
}
}
import java.util.LinkedList;
import java.util.regex.Pattern;public class MainThread {
private HashMap<String, SubBean> map = new HashMap<String, SubBean>();
private boolean started = false;
public MainThread(String gua){
analyze(gua);
}
/**
* 分析命令数据
* @param gua
*/
private void analyze(String gua){
gua.replace("\r", "");
String commands[] = gua.split("\n");
LinkedList<String> subcommands=null;
for (String command:commands){
if (isThreadCommnad(command)){
subcommands = new LinkedList<String>();
SubBean subBean = new SubBean();
subBean.setCommands(subcommands);
subBean.setSubThread(new SubThread(subcommands,this));
map.put(command.substring(1, command.length()-1), subBean);
}else if (subcommands!=null){
subcommands.add(command);
}
}
}
private void start(){
started = true;
SubBean bean = map.get("main");
if (bean!=null){
SubThread subThread = bean.getSubThread();
if (subThread!=null){
if (!subThread.isStarted()){
subThread.start();
}
}
}
}
private void stop(){
started = false;
}
/**
* 检查是否是线程命令
* @param str
* @return
*/
private static boolean isThreadCommnad(String str) {
return Pattern.compile("\\[[\\w\\W]*\\]").matcher(str).matches();
} public boolean isStarted() {
return started;
}
}脚本执行子线程
package com.trash.gui;import java.util.HashMap;
import java.util.LinkedList;
import java.util.regex.Pattern;public class MainThread {
private HashMap<String, SubBean> map = new HashMap<String, SubBean>();
private boolean started = false;
public MainThread(String gua){
analyze(gua);
}
/**
* 分析命令数据
* @param gua
*/
private void analyze(String gua){
gua.replace("\r", "");
String commands[] = gua.split("\n");
LinkedList<String> subcommands=null;
for (String command:commands){
if (isThreadCommnad(command)){
subcommands = new LinkedList<String>();
SubBean subBean = new SubBean();
subBean.setCommands(subcommands);
subBean.setSubThread(new SubThread(subcommands,this));
map.put(command.substring(1, command.length()-1), subBean);
}else if (subcommands!=null){
subcommands.add(command);
}
}
}
private void start(){
started = true;
SubBean bean = map.get("main");
if (bean!=null){
SubThread subThread = bean.getSubThread();
if (subThread!=null){
if (!subThread.isStarted()){
subThread.start();
}
}
}
}
private void stop(){
started = false;
}
/**
* 检查是否是线程命令
* @param str
* @return
*/
private static boolean isThreadCommnad(String str) {
return Pattern.compile("\\[[\\w\\W]*\\]").matcher(str).matches();
} public boolean isStarted() {
return started;
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货