当前位置: 技术问答>linux和unix
Linux下多线程互斥问题
来源: 互联网 发布时间:2015-11-23
本文导语: Linux下多线程问题,向大家请教: (1)多个线程对同一文件进行操作,如果不加锁是否会出现问题?(感觉应该会,但没遇到) (2)多个线程中都执行printf语句,如果不加锁是否会有问题。 如:thread1: prin...
Linux下多线程问题,向大家请教:
(1)多个线程对同一文件进行操作,如果不加锁是否会出现问题?(感觉应该会,但没遇到)
(2)多个线程中都执行printf语句,如果不加锁是否会有问题。
如:thread1: printf("Freezing");
trread2: printf("Freezing");
那么是否出现终端输出混乱的情况“FFrree...”,也就是说在多线程情况下,printf是否是一个原
子操作?如果不是,将有可能有问题。
(1)多个线程对同一文件进行操作,如果不加锁是否会出现问题?(感觉应该会,但没遇到)
(2)多个线程中都执行printf语句,如果不加锁是否会有问题。
如:thread1: printf("Freezing");
trread2: printf("Freezing");
那么是否出现终端输出混乱的情况“FFrree...”,也就是说在多线程情况下,printf是否是一个原
子操作?如果不是,将有可能有问题。
|
多个线程同时printf肯定会有问题,我遇到过,对同一文件同时写也会有问题,除非操作系统不允许对文件的同时写操作
|
1)会有问题
2)不是原子操作
2)不是原子操作
|
1)会有问题
2)会有问题 我也遇到过,输出一半就没有了!
2)会有问题 我也遇到过,输出一半就没有了!
|
printf是不可重入函数,所以在多进程和多线程中会出问题
|
(1)多个线程对同一文件进行操作,如果不加锁是否会出现问题?(感觉应该会,但没遇到)
不会出问题,不过是在你不写文件的情况下,如果写文件会出现文件内容不可预期而已
(2)多个线程中都执行printf语句,如果不加锁是否会有问题。
问题是不会有,只不过很有可能打印出来的东西。。。。。
不会出问题,不过是在你不写文件的情况下,如果写文件会出现文件内容不可预期而已
(2)多个线程中都执行printf语句,如果不加锁是否会有问题。
问题是不会有,只不过很有可能打印出来的东西。。。。。
|
你写个循环,不停的输出
别只写一个啊
别只写一个啊
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。