It's never really necessary to write a multithreaded program. It's probably better to come up with a better architecture and communication method.
In a corporate environment, just use Java or C# or whatever. It's a corporate environment, probably not that interesting. C is not necessary.