Sure, I recently wrote a program in C to process a lot of data and consciously made the decision not to go multicore because I figured extra cache misses and mutexing/spinlocking while data was passed across queues wouldn't justify the additional CPU cycles I was getting for that particular problem.
I'm primarily a Java guy but am capable of switching to C, writing decent code there, and making decisions like that. Someone who refuses to use Java because it's too "corporate" might be a better C programmer than me but they're not a better programmer.
Take a look at the code in java.util.concurrent sometime, specifically the inner Sync classes. If that's insufficiently "hardcore" for you, I don't know what to say.
I'm primarily a Java guy but am capable of switching to C, writing decent code there, and making decisions like that. Someone who refuses to use Java because it's too "corporate" might be a better C programmer than me but they're not a better programmer.
Take a look at the code in java.util.concurrent sometime, specifically the inner Sync classes. If that's insufficiently "hardcore" for you, I don't know what to say.