如果线程在java中运行,则创建一个数组
我有一个创建多个线程的函数。对于每个线程,构造函数从不同的类中获取一个对象,因此我必须首先创建这个类的对象,然后创建线程。下面是为简化示例而修改的代码如果线程在java中运行,则创建一个数组,java,multithreading,Java,Multithreading,我有一个创建多个线程的函数。对于每个线程,构造函数从不同的类中获取一个对象,因此我必须首先创建这个类的对象,然后创建线程。下面是为简化示例而修改的代码 public static void createThread (int n) { for(int i=0;i<n;i++){ someClass obj=new someClass(i); ThreadClass myThread=new ThreadClass(obj);
public static void createThread (int n) {
for(int i=0;i<n;i++){
someClass obj=new someClass(i);
ThreadClass myThread=new ThreadClass(obj);
myThread.run();
}
这里的问题是,我没有看到线程是随机运行的。我正在运行时打印它们中的每一个,我看到它们按顺序显示。这有什么问题吗?我应该以不同的方式运行它吗
谢谢使用Thread.start而不是Thread.run。使用run方法只是在同一线程中调用该方法,而start方法实际上创建了一个新线程并在该线程中调用run方法
我假设你所说的随机,实际上是指交错。这将导致该结果。使用Thread.start而不是Thread.run。使用run方法只是在同一线程中调用该方法,而start方法实际上创建了一个新线程并在该线程中调用run方法
我假设你所说的随机,实际上是指交错。这应该会导致这种结果。使用myThread.start,而不是myThread.run。将对象添加到列表并随机调用使用myThread.start,而不是myThread.run。将对象添加到列表并调用它们randomly@Cratylus.. 从OP的解释和他的代码中,几乎可以清楚地看出,他的ThreadClass要么扩展Thread,要么实现Runnable。我用开始和成功,谢谢@克拉提卢斯。。从OP的解释和他的代码中,几乎可以清楚地看出,他的ThreadClass要么扩展Thread,要么实现Runnable。我用开始和成功,谢谢!!!