Multitasking
UNIX was designed to be a multiprocessing, multiuser system. At any point in time, a user may have many processes running on UNIX. Consequently, UNIX is very efficient at creating processes.
Windows has evolved from its beginnings on Microsoft MS-DOS®, which did not support preemptive multitasking. As a result, Windows relies heavily on threads instead of processes. (A thread is a construct that enables parallel processing within a single process.) Creating a new process in Windows is a relatively expensive operation.
Multithreading
Most new UNIX kernels are multithreaded to take advantage of symmetric multiprocessing (SMP) computers. Initially, UNIX did not expose threads to programmers. However, POSIX does have user-programmable threads. In fact, POSIX has two different implementations of threads, depending on the POSIX version.
In Windows, creating a new thread is very efficient. Windows applications are able to use threads to take advantage of SMP computers and to maintain interactive capabilities when some threads take a long time to execute.
—
지금 포팅하는거 쓰레드 프로그래밍 해야 한다고 하면 그냥 프로세스 여러개 띄우라고 우겨야 겠군. 물론 그쪽 코드를 짜줘야 하겠지만.. 지금 처럼 윈도우와 UNIX 에서 모두 돌아가는 코드로 개발할려면… 문제는 작업을 나눠주는 프로세스와 작업을 하는 프로세스로 나눠지게 되면 짜증이 날탠대 말야…
그나저나.. 뭔가 계속 개발할게 점점 늘어나는 느낌이란 말야…
ps.
http://cncel81.cafe24.com/archives/computer/2005/04/30/34.html
음… 철학적인데…