8 개의 스레드를 사용하여 프로그램 X를 실행하려고 시도 했지만 n 분 후에 종료되었습니다 . 50 개의 스레드를 사용하여 동일한 프로그램을 실행하려고 시도 했지만 n * 10 분 안에 끝났습니다 . 왜 이런 일이 발생하며 어떻게 사용할 수있는 최적의 스레드 수를 얻을 수 있습니까?
내가 이해하는 것처럼 Linux에서 pthread의 기본 스택 크기는 16K입니다. 64 비트 Ubuntu 설치에서 이상한 결과가 나타납니다. $ ulimit -s 8192 또한: pthread_attr_init(&attr); pthread_attr_getstacksize(&attr, &stacksize); printf("Thread stack size = %d bytes \n", stacksize); Prints Thread stack size = 8388608 bytes 스택 크기가 "8388608"이 아니라고 확신합니다. 무엇이 잘못 될 수 있습니까?
API 호출을 수행하고 결과로 데이터베이스를 업데이트하는 명령 줄 스크립트가 있습니다. API 공급자와의 API 호출은 초당 5 회로 제한됩니다. 스크립트를 실행하는 데 0.2 초 이상 걸립니다. 명령을 순차적으로 실행하면 명령이 충분히 빠르게 실행되지 않으며 초당 1 또는 2 개의 API 호출 만 수행합니다. 명령을 순차적으로 실행하지만 여러 터미널에서 동시에 실행하면 5 …
Unix (Posix) 프로세스가 신호를 수신하면 신호 처리기가 실행됩니다. 멀티 스레드 프로세스에서 어떻게됩니까? 어떤 스레드가 신호를 수신합니까? 제 생각에는 신호 API를 처리하도록 확장해야합니다 (즉, 신호 처리기의 스레드를 결정할 수 있어야합니다).하지만 인터넷에서 정보를 찾기 위해 리눅스 커널 메일 링리스트와 1 년 동안 화염을 발견했습니다. 다른 포럼. 내가 이해 한 것처럼 Linus의 개념은 …
를 실행하면 top -H여러 mysql스레드가 모두 동일한 PID를 갖는 것을 볼 수 있습니다. 그러나 ps -eLf필자는 각각 PID가 다릅니다. ps -eLf UID PID PPID LWP C NLWP STIME TTY TIME CMD mysql 1424 1 1424 0 17 18:41 ? 00:00:00 /usr/sbin/mysqld mysql 1424 1 1481 0 17 18:41 ? 00:00:00 …
예를 들어 OSX의 경우 512k 미만입니다. 앱이 재귀를 사용하지 않고 많은 스택 변수를 할당하지 않는다는 점을 염두에두고 권장되는 크기 가 있습니까? 나는 질문이 너무 광범위하고 사용법에 따라 크게 다르다는 것을 알고 있지만 이 거대한 숫자 뒤에 숨겨진 / 내부 / 시스템 이유 가 있는지 궁금해하고 있기 때문에 여전히 묻고 싶었습니다 …
다음 형식의 bash 스크립트를 작성했습니다. #!/bin/bash start=$(date +%s) inFile="input.txt" outFile="output.csv" rm -f $inFile $outFile while read line do -- Block of Commands done < "$inFile" end=$(date +%s) runtime=$((end-start)) echo "Program has finished execution in $runtime seconds." while루프에서 읽을 $inFile라인에 어떤 활동을 수행하고있는 결과를 덤프 $outFile. (가)으로 $inFile3500 선 길이, 스크립트는 …