(************************************************************ sequential.ml Created : Wed Nov 12 23:49:31 2003 Last modified: Thu Nov 13 00:57:09 2003 Compile: ocamlc -thread -dtypes unix.cma /usr/local/lib/ocaml/threads/threads.cma sequential.ml -o sequential # FTP Directory: sources/ocaml # ************************************************************) (** @author Takashi Masuyama *) let _ = let i = ref 0 in let f = let lock = Mutex.create () in let rec iter n = if n = 0 then () else begin Mutex.lock lock; print_int !i; print_newline (); incr i; Mutex.unlock lock; iter (n-1) end in iter in let t1 = Thread.create f 10 in let t2 = Thread.create f 10 in List.iter Thread.join [t1; t2] ;;