두 개의 벡터를 함께 추가하는 간단한 스레드를 작성 중이며 두 개의 명령 줄 인수 (벡터 길이 및 스레드 수)가 필요합니다. 내가 이해하는 것으로부터, 프로그램은이 두 가지 인자를 받아 들여 스레드와 벡터 길이의 수에 따라 성능을 나타내는 벡터를 합산합니다. 이것은 내가 붙어있는 곳이다. 지금까지 배열을 사용하여 두 벡터를 함께 추가하고 스레드를 생성하여 시간을 표시하는 기본 코드를 작성했지만 명령 줄 인수로 구현하는 데 문제가 있습니다. 여기까지 제가 한 일이 있습니다.Java 스레드 및 명령 줄 인수
public class Addition
{
public static void main(String args[])
{
int NoOfThreads = Integer.parseInt(args[0]);
VectorLength = Integer.parseInt(args[1]);
System.out.println("Start time: " + System.nanoTime());//print start time
Thread v1 = new Vector();
Thread v2 = new Vector();
Thread vsum = new Vector();
//start all threads
v1.start();
v2.start();
vsum.start();
//vsum2.start();
System.out.println("End time: " + System.nanoTime());//print end time
}
}
public class Vector extends Thread
{
//create vectors and assign them arbitrary values
int v1[] = {12,13,14,15,16,17,18};
int v2[] = {15,19,20,22,24,26,28};
//initialise the vector sums to zero
int vsum = 0;
public void run()
{
//loop to add up the elements of the first vector
if(Integer.parseInt(args[0])> 0)
{
for(int i = 0; i < v1.length; i++)
{
for(int j=0; j<v2.length; j++)
{
vsum = v1[i]+ v2[j];
System.out.println("Current total of vector 1: " + vsum);
try
{
System.out.println(System.nanoTime());
Thread.sleep(100);
}
catch (InterruptedException e)
{}
}//for
}
}
}
}
'Vector'는 이미 클래스 이름 ('java.util.Vector')입니다. 'VectorThread'와 같은 다른 이름을 선택하는 것이 가장 좋습니다. – wchargin
'Vector' 클래스에서'args' 란 무엇입니까? –
오 그게 명령 줄 인수를 사용하여 실행 스레드 수를 읽으려고 시도한 것입니다. – user2035796