linux 에서 병렬 논리 실현
\# 1 、 사고방식 은 우리 모두 linux 에서 프로그램 을 백 엔 드 스 크 립 트 에 버 리 고 여러 개 를 동시에 뛸 수 있다 는 것 을 알 고 있다. 이것 이 바로 병발 을 실현 하 는 사고방식 이다. 그러나?만약 우리 가 한꺼번에 많은 백 스테이지 프로그램 을 뛴다 면 서버 가 견 디 지 못 한다 면...손 으로 컨트롤 하면 어색 하 다.이 건 좀 낮 아 요.
\# 2 、 사고방식 2 위 에서 우 리 는 개선 판 을 만 들 었 습 니 다. 우 리 는 순환 을 쓰 고 나 누 어 달 립 니 다. 매번 에 10 개 만 달 릴 수 있 습 니 다. 그러면 위의 문 제 를 해결 할 수 있 습 니 다. 그러나 나 누 어 달 립 니 다. 모든 것 이 다 달 려 야 다음 에 계속 할 수 있 습 니 다. 만약 에 매번 에 한 번 씩 늦게 달 리 는 것 이 있 으 면 효율 이 낮 습 니 다.
\# 3 、 사고방식 3 은 지금의 서비스 와 같다. 예 를 들 어 은행 에 가면 우 리 는 모두 은행 에 가서 수속 을 밟 는 것 이 그 번호 라 는 것 을 알 고 있다. 만약 에 은행 에 10 개의 창구 가 있다 고 가정 하면 우 리 는 어떤 사람들 이 하 는 업무 가 매우 간단 하고 분 안에 끝 난 다 는 것 을 알 고 있다. 그러나 어떤 사람들 은 매우 느 려 서 모든 사람 에 게 번호 가 있어 야 한다. 번호 에 따라 처리 해 야 한다.이렇게 하면 모든 창구 가 고객 에 게 업 무 를 처리 하도록 보장 할 수 있다.이것 이 바로 Liux 병발 을 처리 하 는 논리 이다.
실현: 유명한 파이프 mkfifo 명령 과 exec 명령 으로 이 루어 집 니 다. 파 이 프 는 차단 되 는 특징 이 있 습 니 다. 전송 값 을 기 다 려 야 계속 실 행 됩 니 다. 모 르 는 파트너 가 있 으 면 어머니 를 찾 아 갈 수 있 습 니 다.
#!/bin/bash
############################################
## Author:lugh1
## Blog:
## Time:2019-06-04 16:46:07
## Version:V 1.0
## Description: gp exp
############################################
# 。。。。
PWD=`cd $(dirname "$0");pwd` #
#
mkfifo $PWD/fifo_file
# fifo_file , 4( ), 3-9
exec 3<>$PWD/fifo_file
# ,
rm -f $PWD/fifo_file
# ,
for ((i=0;i<10;i++))
do
echo "" > &3
done
# ,
while true
do
read -u3 # , , , ,
# ,
{
sh shell.sh #
echo "" >&3
}& # , , ,
# , {}&, , , ,
#
done
wait #
exec 3>&- #
exec 3
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.