1. 성능상 이점이 미미할 가능성이 높음


잘 활용하면 좋기야 한데, 고려해야할 변수가 너무 많음

익히 알려진 문맥교환이나 경합상태 말고도 운영체제 스케줄링이나 하드웨어에 따라서도 영향을 상당히 받는다고 함.

c#처럼 Parallel 클래스로 api를 만들어 줬다면 써볼만 할 것 같은데,

직접 스레드 분할해서 만들어보니까 경우에 따라 차이가 너무 심한듯


그리고 멀티스레드를 써서 이점을 얻을 수 있는 분야에도 제한이 있는 등



2. 고장날 가능성이 너무 높음


단적인 예로,


if (obj != null) {

    obj.call();

}


이런 상식적인 코드도 멀티스레드 상태에서는 위험한 코드다.




걍 내 생각임


잘 하시는 분들은 잘 할거임

주변에서는 잘하는사람 못봄