十个线程写作打印4个文件的C代码实现

来源:互联网 发布:户口本打印软件 编辑:程序博客网 时间:2024/05/18 01:54

打印要求:

建立10个线程,编号为0~9,分别打印4个文件A.txt,B.txt,C.txt,D.txt
每个文件要求打印100行内容,以/r/n作为行分隔符。
其中,A.txt的内容如下:
Thread 1 print
Thread 2 print
Thread 3 print
Thread 4 print
Thread 5 print
Thread 6 print
Thread 7 print
Thread 8 print
Thread 9 print
Thread 0 print
Thread 1 print
Thread 2 print
Thread 3 print
...
Thread 0 print

B.txt的内容如下:
Thread 0 print
Thread 9 print
Thread 8 print
Thread 7 print
Thread 6 print
Thread 5 print
Thread 4 print
Thread 3 print
Thread 2 print
Thread 1 print
Thread 0 print
Thread 9 print
Thread 8 print
...
Thread 1 print

C.txt的内容如下:
Thread 1 print
Thread 3 print
Thread 5 print
Thread 7 print
Thread 9 print
Thread 1 print
Thread 3 print
...
Thread 9 print

D.txt的内容如下:
Thread 2 print
Thread 4 print
Thread 6 print
Thread 8 print
Thread 0 print
Thread 2 print
Thread 4 print
...
Thread 0 print

 

代码实现

编写过程中,遇到的主要问题是信号丢失问题。

后来用了定时锁定,过了时间后自动解除阻塞,程序继续运行。

可以避免线程之间下入死锁的局面。