Answer the question
In order to leave comments, you need to log in
How can a stream handler in Java be connected with PHP?
Good afternoon, ladies and gentlemen.
I'm reading about threads in Java and came across a semaphore.
import java.util.concurrent.Semaphore;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Semaphore sem = new Semaphore(2);
Scanner sc = new Scanner(System.in);
System.out.println("Введите количество клиентов");
int i = sc.nextInt();
while(i>=1)
{
new Client(sem,i).start();
i = i - 1;
}
}
}
// класс Клиента
class Client extends Thread
{
Semaphore sem; // семафор. ограничивающий число клиентов
// кол-во обслуживаний
int num = 0;
// условный номер клиента
int id;
// в качестве параметров конструктора передаем идентификатор клиента и семафор
Client(Semaphore sem, int id)
{
this.sem=sem;
this.id=id;
}
public void run()
{
try
{
while(num<1)// пока количество посещений не достиг.
{
//Запрашиваем у семафора разрешение на выполнение
sem.acquire();
System.out.println ("Клиент " + id+" совершает покупку");
// Клиент совершает покупку
sleep(500);
num++;
System.out.println ("Клиент " + id+" клиент вышел с магазина");
sem.release();
// Клиент гуляет
sleep(500);
}
}
catch(InterruptedException e)
{
System.out.println ("у клиента " + id + " баг");
}
}
}
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question