线程应该以相同的瞬间开始.我明白,如果你这样做thread1.start(),在下次执行之前需要几毫秒thread2.start().
甚至可能还是不可能?
重新启动时,亚马逊实例的IP地址会发生变化.如何使用java API查找新的IP地址?
具体来说,有人可以告诉我这段代码有什么问题.它应该启动线程,所以应该打印"输入线程..."5次,然后等到调用notifyAll().但是,它会随机打印"输入......"和"完成......",并且仍在等待其他人.
public class ThreadTest implements Runnable {
private int num;
private static Object obj = new Object();
ThreadTest(int n) {
num=n;
}
@Override
public void run() {
synchronized (obj) {
try {
System.out.println("Entering thread "+num);
obj.wait();
System.out.println("Done Thread "+num);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
Runnable tc;
Thread t;
for(int i=0;i<5;i++) {
tc = new ThreadTest(i);
t = new Thread(tc);
t.start();
}
synchronized (obj) {
obj.notifyAll();
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有这样的日期输入日期:{ts'2012-08-13 02:30:01'}
我相信我可以用单引号来逃避无效部分,但我在无效部分中有一个单引号.我怎么逃避?我尝试了几种模式,但它不起作用.
谢谢,
对更新版本的调用com.google.cloud.pubsub.spi.v1.Publisher.publish(pubsubMessage).get()永远悬而未决.我不确定问题是什么.
代码段:
com.google.cloud.pubsub.spi.v1.Publisher publisher = Publisher.defaultBuilder(TopicName.parse("projects/" + projectId + "/topics/" + topicName))
.setChannelProvider(TopicAdminSettings
.defaultChannelProviderBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(ServiceAccountCredentials.fromStream(new FileInputStream(keyFile))))
.build())
.build();
ApiFuture<String> messageIdFuture = publisher.publish(pubsubMessage);
messageIdFuture.get() // HANGS FOREVER!!
Run Code Online (Sandbox Code Playgroud)
较旧的API可以正常工作:
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(new NetHttpTransport())
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId(serviceAccount)
.setServiceAccountScopes(Arrays.asList(PubsubScopes.PUBSUB))
.setServiceAccountPrivateKeyFromP12File(new File(keyFile))
.build();
Pubsub pusub = new Pubsub.Builder(transport, JSON_FACTORY, credential).setApplicationName("bigquery").build();
PubsubMessage pubsubMessage = new PubsubMessage();
pubsubMessage.encodeData(message.getBytes());
PublishRequest publishRequest = new PublishRequest();
publishRequest.setMessages(Arrays.asList(pubsubMessage));
pubsub.projects().topics().publish(outputTopic, publishRequest).execute();
Run Code Online (Sandbox Code Playgroud)
有人可以指出我错过了什么吗?
我使用 Graphviz 的输出 SVG 图形被更水平地拉伸。我如何使它更垂直地扩展?或者有没有办法增加边缘的长度?