Talk:Synchronous concurrency

From Rosetta Code
Revision as of 01:42, 22 October 2007 by MikeMol (talk | contribs) (→‎Strange requirement: thread/process confusion.)

Strange requirement

This aricle currently contains the following text: "This task should not be implemented using fork, spawn, or the linux/unix/Win32 pipe command." I think this is a very strange requirement for a task where "The goal of this task is to create two concurrent activities that share data synchronously". I think that goal actually describes one of the most common uses of fork(), spawn(), pipes and similar constructs. I suggest we remove this requirement. Ahy1 12:43, 21 October 2007 (MDT)

I believe the task was intended to demonstrate coordinated action between two independent processes. Waldorf originally wrote the task; Perhaps he could chime in? --Short Circuit 13:17, 21 October 2007 (MDT)
I was looking specifically for concurrent tasks within a single program. Many languages call these concurrent units threads. Ada calls them tasks. There are other approaches and names for such capabilities. What I did not want was program-to-program communication as is common using fork, spawn, and pipe. Some languages, such as Java, Ada, and ML, have concurrent features built in. Some languages, such as C and C++, use external libraries to achieve similar ends. Some languages have no concurrency capabilities. I would not expect examples from languages with no capabilities. Waldorf 15:08, 21 October 2007 (MDT)
So you're making a distinction between threads and processes? That's probably the source of confusion. I'll go ahead and clarify. --Short Circuit 19:42, 21 October 2007 (MDT)