Головна‎ > ‎Java‎ > ‎Додатково‎ > ‎

Синхронізація ниток

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
     public static void main(String[] args) {         
          MyThread thread1 = new MyThread();
          thread1.start();

          Scanner sc = new Scanner(System.in);
          sc.nextLine();        // зупинка Enter
          thread1.Strop();   
     }
}


class MyThread extends Thread{

     private volatile boolean isWork = true; 
     // та, що змінюється, не кешується для кожного кешу ядра процесора

     public void run() {
          while (isWork) {
               System.out.println("Thread 2");
               try {
                         Thread.sleep(100);
               } catch (InterruptedException e) {
                    e.printStackTrace();
               }
          }
     }

     public void Strop() {
          this.isWork = false;
     }
}