在进行多线程编程时,OpenMP是个非常有效的工具,它能最大化的将你的并行处理发挥到极致。当然有如此便利的方面,自然也会有相应的限制条件。但是一旦熟悉使用,注意它的那几个原则,也不会有什么问题。
在最近的工作中,遇到了一种情况,内容如下:在多线程循环中进行并行处理数据,但是当其中一个线程中的一组数据满足于一个特定的条件时,需要将所有线程挂起,并且弹出提示框,并根据用户在提示框中的选...
分类:
编程语言 时间:
2015-02-05 15:03:28
阅读次数:
221
/** * 线程:是进程的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行,一个进程最少有一个进程(单线程程序) * 多线程两种实现方法:1.继承Thread类 2.实现Runnable接口 */public class Main { public static vo...
分类:
编程语言 时间:
2014-12-15 18:59:45
阅读次数:
331
今天,拿一个简单例子来说明线程中断的控制。场景:在特定的目录,寻找特定的文件,如果找到,则10秒线程中断。如果没找到,直接抛出InterruptedException异常,并在run()方法捕获处理这个异常。 1.创建一个类名为FileSearch类,并且实现Runnable接口。 public ....
分类:
编程语言 时间:
2014-12-04 23:00:40
阅读次数:
394
一个线程在未正常结束之前, 被强制终止是很危险的事情. 因为它可能带来完全预料不到的严重后果. 所以你看到Thread.suspend, Thread.stop等方法都被Deprecated了那么不能直接把一个线程搞挂掉, 但有时候又有必要让一个线程死掉, 或者让它结束某种等待的状态 该怎么办呢? ...
分类:
编程语言 时间:
2014-12-04 22:55:20
阅读次数:
235
如果Java程序不只有一个执行线程,只有当所有线程结束的时候这个程序才能运行结束。更确切的说是所有的非守护线程运行结束的时候,或者其中一个线程调用了System.exet()方法时,程序才运行结束。
Java提供了中断机制,我们可以采用它来结束一个线程。我们创建一个线程,使其运行5秒后通过中断机制强制使其终止。程序检查数字是否是质数。
package com.concurrency;
pub...
分类:
编程语言 时间:
2014-11-25 16:29:21
阅读次数:
252
/**
* 使用了线程中断在swing进度条中的应用,在run()中调用JProgressBar的setValue()方法。
*
* 本例应用了线程的中断,2种中断方法:
*
* 运用interrupt()方法
* 在run()中使用无限循环,然后用一个布尔什标记去控制循环的停止
*
* 另外,还有内部类与匿名内部类的分别使用。
*
* @author HAN
*
*...
分类:
编程语言 时间:
2014-11-19 20:35:10
阅读次数:
170
Java中启动一个线程很容易,通常情况下我们都是等到任务运行结束后让线程自行停止。但有时需要在任务正在运行时取消他们,使得线程快速结束。对此Java并没有提供任何机制。但是我们可以通过Java提供的线程中断机制来实现。首先来看Thread类三个和中断有关的方法:public class Thread...
分类:
编程语言 时间:
2014-09-28 16:06:02
阅读次数:
167
new Thread的弊端如下:a. 每次new Thread新建对象性能差。b. 线程缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用过多系统资源导致死机或oom。c. 缺乏更多功能,如定时执行、定期执行、线程中断。相比new Thread,Java提供的四种线程池的好处在于:a. 重用...
分类:
其他好文 时间:
2014-09-07 03:16:44
阅读次数:
252
这个模块并没有被包括到整个平台框架中去,而是以工具的形式被放在一边。不过该模块的加入可以极大的提高仿真实验的直观性。(权当是熟悉多线程了,哈哈!)仿真平台想要实现多线程运行和单步,并且希望结构尽量简单。这里需要说明,单步不仅仅是使用Thread.Stop()将线程中断,而是在某一次步骤执行完时非暴力...
分类:
编程语言 时间:
2014-08-24 14:09:12
阅读次数:
230
本文是学习网络上的文章时的总结,感谢大家无私的分享。
1、如果线程实现的是由复杂算法分成的一些方法,或者他的方法有递归调用,那么我们可以用更好的机制来控制线程中断。为了这个Java提供了InterruptedException异常。当你检测到程序的中断并在run()方法内捕获,你可以抛这个异常。
2、InterruptedException异常是由一些与并发API相关的Java方法,如sl...
分类:
编程语言 时间:
2014-08-12 19:08:24
阅读次数:
281