线程通常以两种方式设计(参见java教程):通过扩展Thread类或通过实现Runnable类.无论哪种方式,您都需要指定在线程内运行的内容.
我设计了一个类,一个适用于在线资源的适配器,可以检索不同类型的信息.该类由getInformationOfTypeA()和getInformationOfTypeB()等方法组成.两者都包含连接到在线资源的代码,因此两者都需要进行线程化以避免死锁.
问题是:我该如何设计?我可以像下面这样做,但后来我只能实现一个方法:
public class OnlineResourceAdapter implements Runnable {
public void run() {
//get stuff from resource
getInformationOfTypeA();
}
public static void main(String args[]) {
(new Thread(new OnlineResourceAdapter ())).start();
}
public void getInformationOfTypeA(){
//get information of type A
}
public void getInformationOfTypeB(){
//get information of type B
}
}
Run Code Online (Sandbox Code Playgroud)
另一种方法是为每个方法创建单独的类,但这对我来说似乎不自然.
顺便说一句:我正在j2me中开发我的应用程序
更新:
感谢您的回复,我认为最适合使用以下方法作为方法:
你觉得这怎么样:
public class OnlineResourceAdapter{
public void getInformationOfTypeA(){
Thread t = new Thread(new Runnable() {
public void run() {
//do stuff here
}
});
t.start();
} …Run Code Online (Sandbox Code Playgroud) 我试图在MySQL中将字符串哈希到64位值(bigint).我知道MD5()函数,它返回一个128位散列作为二进制字符串.我很乐意把这个结果的底部或前64位.但是,我无法弄清楚如何从二进制字符串类型到任何类型的数字类型.有什么指针吗?
我只想在我的Android应用程序中集成ZXing API,但无法找到合适的文档.
我想在5台机器的hadoop集群中运行Mahout的K-Means示例.我需要在所有节点中保留哪些Mahout jar文件,以便以分布式方式执行K-Means.谢谢.
-Venkiram
我已经建立了一个Hadoop集群(通过Cloudera Manager使用Cloudera发行版),我正在使用Hue接口运行一些Hive查询,该接口使用下面的Beeswax.
我的所有查询运行正常,我甚至成功部署了自定义UDF.
但是,在部署UDF时,我遇到了一个非常令人沮丧的版本问题.在我的UDF类的初始版本中,我使用了导致a的第三方类StackOverflowError.
我修复了这个错误,然后验证了可以从hive命令行成功部署和使用UDF.
然后,当我再次使用Hue和Beeswax时,我不断得到同样的错误.我只能通过更改我的UDF java类名来解决这个问题.(从Lower到Lower2).
现在,我的问题是,处理这类版本问题的正确方法是什么?
据我所知,当我使用左边的方便表单字段添加jar时,它们会被添加到分布式缓存中.那么,如何刷新/清除分布式缓存?(我无法LIST JARS;从Hive/Beeswax中运行等.它给我一个语法错误.)
我想它很简单,但我无法理解如何做到这一点:(我已经尝试了==和等于目前为止,但我没有让它们工作.这是一个小编程计算瑞典语的成绩highschool系统(所以只需忽略瑞典语并查看字符串比较.这里的问题是统计函数变量在程序结束时仍然设置为0.
import javax.swing.*;
public class Uppgift1 {
private String[] subjects = {"Matematik","Svenska","Engelska","Idrott",
"Bild","Fysik","Biologi","Kemi","Historia","Geografi",
"Samhällskunskap","Religionskunskap"};`
private String[] grades = new String[subjects.length]; // Lika många element som ämnen
public void setGrades() {
for(int i = 0; i < grades.length; i++){
grades[i] = JOptionPane.showInputDialog("Ange betyg i " + subjects[i] + " (IG, G, VG, MVG)");
}
}
public void statistics() {
int ig = 0;
int g = 0;
int vg = 0;
int mvg = 0;
int points = 0;
for(int i …Run Code Online (Sandbox Code Playgroud) 我如何清除使用Java在命令行中打印的文本?我希望Text1在打印后清除并覆盖Text2.我搜索并找到此代码,但它不起作用.
public class className {
public static void main(String[] args) throws IOException {
System.out.println("Text1");
Runtime.getRuntime().exec("cls");
System.out.println("Text2");
}
}
Run Code Online (Sandbox Code Playgroud) 请在没有cloudera经理的情况下提供在ubuntu中安装imapala的链接.无法安装官方链接.
无法使用这些查询找到包impala:
sudo apt-get install impala # Binaries for daemons
sudo apt-get install impala-server # Service start/stop script
sudo apt-get install impala-state-store # Service start/stop script
Run Code Online (Sandbox Code Playgroud) 我想知道是否有一个程序在那里检查我是否有每个html标记项的开始结束标记.我使用Dreamweaver cs3,当标记出现问题时,标签会改变颜色但是,它并不总是准确的.我想知道是否有一些我可以将开始和结束标记放入树视图而不必在Dreamweaver中打开和关闭树视图中的每个标记.
所以显示如下:
+<div id="abc">
| some html
| some html
| some html
| some html
+</div>
+<div id="def">
| some html
| some html
| some html
| some html
+</div>
Run Code Online (Sandbox Code Playgroud) 我试图在Windows上运行的应用程序中使用Mahout.我想使用k-means从lucene索引构建集群.
一旦我必须创建序列文件(从lucene索引创建向量),我就会得到一个Hadoop-Exception,因为Hadoop会对Windows环境中未知的程序(例如chmod)进行命令行调用.在Cygwin中运行不是一个选项,因为我希望能够从eclipse运行应用程序.
所以我的问题是