我已经在线阅读了一些教程,发现很难理解,它们都涉及建立新类并在主线程上运行线程。我没有主体,因为我正在为GUI构建后端,而我只是在开发接口。
我在下面粘贴了一个代码示例,以尝试演示我想要做什么。
public class TestClass {
public void testMethod(){
Queue<List<Long>> q = new ArrayDeque<>();
List<Long> testList = new ArrayList<>();
testList.add(9L);
q.add(testList);
while(q.size()>0){
//take off list from front of queue
//manipulate list and return it to queue/Delete it if no more to add and not reached a threshold.
}
因此,基本上,我希望将while循环作为线程调用,因为我希望能够控制它运行的时间并获得一定的效率。
有人可以建议吗?
谢谢
最佳答案
将您的while
循环更改为类似这样的内容。
Thread t = new Thread(){
public void run() {
while (q.size() > 0) {
// take off list from front of queue
// manipulate list and return it to queue/Delete it if no more to
// add and not reached a threshold.
}
//all other code
};
};
t.start();
或者,您可以等待线程完成执行,但是这再次阻塞了testMethod,直到您的while循环完成。我认为这不是您所需要的。
Thread t = new Thread(){
public void run() {
while (q.size() > 0) {
// take off list from front of queue
// manipulate list and return it to queue/Delete it if no more to
// add and not reached a threshold.
}
};
};
t.start();
t.join();//waits for the thread to finish execution.
//rest of your code.
关于java - Java中的并发性-仅在方法上?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36670999/