Java多线程:信息返回与同步机制解析
在Java编程中,多线程的使用能够显著提升程序的效率,但同时也带来了一些挑战,比如如何从线程中返回信息以及如何处理共享资源的同步问题。下面我们将详细探讨这些问题及相应的解决方案。
从线程返回信息
在多线程编程中,经常需要从线程中获取计算结果。常见的方法有轮询(Polling)和回调(Callbacks)两种。
轮询(Polling)
轮询是新手常用的方法,通过让getter方法在结果字段未设置时返回一个标志值(或抛出异常),主线程则周期性地轮询getter方法,检查是否返回了除标志值之外的结果。以下是一个示例代码:
public static void main(String[] args) {
ReturnDigest[] digests = new ReturnDigest[args.length];
for (int i = 0; i < args.length; i++) {
// Calculate the digest
File f = new File(args[i]);
digests[i] = new ReturnDigest(f);
digests[i].start();
}
for (int i = 0; i < args.length; i++) {
while (true) {
// Now print the result
byte[] dig
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



