Program ini berjalan layaknya permainan Hompimpah yang telah kita kenal. Adapun yang dilakukan dalam permainan hompimpah adalah sebagai berikut:
Dalam permainan Hompimpah kita mengenal dua peranan,
yaitu pemain-pemain yang melakukan hompimpah (gambar sebelah
kanan yang berjumlah 5) dan seorang bandar (gambar sebelah
kiri), yang berfungsi menetukan, kapan permainan dimulai dan
kapan permainan berakhir. Dalam hal ini bandar bertindak
sebagai pengatur jalannya permainan.
Permainan mulai ketika bandar menyerukan Hompimpah.
Ketika itu secara serentak pemain-pemain akan melakukan
hompimpah dengan tangannya. Kemudian bandar akan menyerukan
gambreng sebagai penanda hompimpah berhenti, sehingga pemain
pun menghentikan hompimpah dan masing-masing akan menunjukan
tangannya, apakah telapak atau punggung.
Terlihat pada gambar, setelah bandar menyerukan
gambreng dan hompimpah berhenti, bandar akan melakukan
perhitungan banyaknya telapak dan punggung. Apabila bandar
menemukan ada diantara telapak atau punggung yang berjumlah
satu, maka satu-satunya pemain itu akan keluar sebagai
pemenang. Namun apabila tidak ada diantara telapak atau
punggung yang berjumlah satu, seperti pada gambar maka bandar
akan mengulang permainan dengan menyerukan gambreng. Hal
tersebut akan berulang terus-menerus hingga terdapat 1 tangan
yang berbeda. Dengan kata lain, bandar akan terus menyerukan
gambreng dan mengulang permainan hingga menemukan
pemenang.
Seperti halnya permainan Hompimpah yang diilustrasikan di
atas, program Hompimpah juga berjalan demikian layaknya permainan
Hompimpah sebenarnya. Tetapi, ada perbedaan terhadap jumlah
bandamya. Program Hompimpah memiliki jumlah bandar yang sama
dengan jumlah pemainnya, sehingga setiap pemain memiliki satu
bandar. Adapun tujuan sinkronisasi dua arah adalah mengendalikan
thread-thread sesuai dengan
keinginan kita melalui kendali
bandarGambreng() yang diimplementasikan pada
program Hompimpah.