// Code from Java Puzzlers struct Friend { char name[10]; }; void bow(struct Friend *bower, struct Friend *bowee) { printf("%s: I bow to %s.%n", bower->name, bowee->name); bowBack(bowee, this); } void bow void bowBack(struct Friend *bower, struct Friend *bowee) { System.out.format("%s: I bow back to %s.%n", this.name, bower.name); } int main(void) { struct Friend alphonse; alphonse.name = "Alphonse"; struct Friend gaston; gaston.name = "Gaston"; pthread_create(&pid1, NULL, bow, &); new Thread(new Runnable() { public void run() { alphonse.bow(gaston); } }).start(); new Thread(new Runnable() { public void run() { gaston.bow(alphonse); } }).start(); } }