locking_test_script
von heisenberg- SNIPPET_TEXT:
-
- #!/bin/bash
- run_locked_simple_lock() {
- while ! ./increment_number_simple_lock ;do
- :
- done
- }
- run_locked_flock() {
- while ! ./increment_number_flock ;do
- :
- done
- }
- # --- start test ---
- echo
- # write sequentially for testing with simple_lock
- echo 0 >data.txt
- rm -f ./bla-lock
- for ((i=1;i<=100;i++));do
- ./increment_number_simple_lock
- done
- echo "Data Value after 100 sequential executions with simple lock: $(cat data.txt)"
- # write sequentially for testing with flock
- echo 0 > data.txt
- for ((i=1;i<=100;i++));do
- ./increment_number_flock
- done
- echo "Data Value after 100 sequential executions with flock: $(cat data.txt)"
- echo
- # write parallel for testing with simple_lock
- echo 0 > data.txt
- rm -f ./bla-lock
- {
- for ((i=1;i<=100;i++));do
- run_locked_simple_lock &
- done
- } >/dev/null 2>&1
- wait
- echo "Data Value after 100 parallel executions with simple lock: $(printf "%3d" $(cat data.txt))"
- # write parallel for testing with simple_lock
- echo 0 > data.txt
- {
- for ((i=1;i<=100;i++));do
- run_locked_flock &
- done
- } >/dev/null 2>&1
- wait
- echo "Data Value after 100 parallel executions with flock $(cat data.txt)"
- echo
Quellcode
Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN