Modern OCaml multithreading is still a couple years away, the current (very promising) approach is still at the design/experimental stage.
Out of curiosity, what is it about smart contracts that makes multithreading so important? Why isn't multiprocessing enough? [edit: sorry, I mis-read your comment. You said that multithreading probably isn't a big deal for this problem.]