Я экспериментировал с многопоточностью и работал над упражнением, включающим увеличение счетчика. Кажется, мой код работает так, как ожидалось, но я не уверен, правильно ли я его реализовал.
package org.example;
import java.util.*;
import java.lang.*;
public class Main implements Runnable{
static int i=0;
static Scanner sc= new Scanner(System.in);
@Override
public void run() {
incrementValue(sc);
}
public static synchronized void incrementValue(Scanner sc){
System.out.println(Thread.currentThread().getName()+" says to choose increment value");
int n= sc.nextInt();
i+=n;
}
public static void main(String[] args) throws InterruptedException{
Main obj= new Main();
System.out.println("Number of incrementing threads?");
int n= sc.nextInt();
Thread[] thread= new Thread[n];
for(int i=0; i
Подробнее здесь: [url]https://stackoverflow.com/questions/79342172/can-someone-tell-me-if-i-am-on-the-right-track-here[/url]
Я экспериментировал с многопоточностью и работал над упражнением, включающим увеличение счетчика. Кажется, мой код работает так, как ожидалось, но я не уверен, правильно ли я его реализовал. [code]package org.example; import java.util.*; import java.lang.*;
public class Main implements Runnable{
static int i=0; static Scanner sc= new Scanner(System.in);
@Override public void run() { incrementValue(sc); }
public static synchronized void incrementValue(Scanner sc){ System.out.println(Thread.currentThread().getName()+" says to choose increment value"); int n= sc.nextInt(); i+=n; }
public static void main(String[] args) throws InterruptedException{ Main obj= new Main(); System.out.println("Number of incrementing threads?"); int n= sc.nextInt();