我试图在Mutex
语言中理解Semaphore
,C
的概念。我已用Java
编程超过2年,刚开始用C
语言编程。我无法理解mutex
,semaphore
概念和用法。更具体地说,我将举一个例子。
假设我有一个任务负责将文件从给定路径复制到目标。我有一个永远运行的线程,它生成的文件稍后会被任务移动。
在Java
中,我可以这样实现;
(1)我创建了一个Runnable
,它接受两个arg(目标路径和目标路径)并在其中执行移动作业。
(2)我使用forever循环创建另一个Runnable
,在其中创建文件并使用runnable (1)
启动一个新线程并移动文件。
我希望在另一个thread
中移动操作,因为我不希望它阻止我创建新文件的永久线程。
修改
我怎么能在C
?
任何评论和文件都会非常有用。