是这样的,我有个设计
a 是一个进程
b 是一个进程
c 是共享数据
现在a会以多线程的方式去读写c
b以进程方式读写c
那么现在是不是就是涉及到
进程互斥与线程互斥?!
首先是a与b的一个进程互斥
然后是a里面多线程的安全
大家说呢!
线程安全 进程互斥
------解决方案--------------------
只要涉及共享数据读写,a与b、a与a间都要考虑线程安全。
互斥是实现线程安全的一个手段,两者不是并列概念。
------解决方案--------------------
嗯,访问c的时候,要把c锁住。
------解决方案--------------------
只要涉及共享数据读写,a与b、a与a间都要考虑线程安全。
互斥是实现线程安全的一个手段,两者不是并列概念。
我想问的是a与b之间是进程同步吧
可能要用到文件锁之内的吧
嗯,访问c的时候,要把c锁住。
好的,俺这下踏实了,嘿嘿~
建议啊,访问c的方法用个公共,不要a那写一个,b那写一个。
------解决方案--------------------
你这不是乱来么?进程怎么和线程同步??
只有线程同步。
另外如果你那个都是线程的话,读写c的所有线程都要同步
------解决方案--------------------
只要涉及共享数据读写,a与b、a与a间都要考虑线程安全。
互斥是实现线程安全的一个手段,两者不是并列概念。
我想问的是a与b之间是进程同步吧
可能要用到文件锁之内的吧
嗯,访问c的时候,要把c锁住。
好的,俺这下踏实了,嘿嘿~
建议啊,访问c的方法用个公共,不要a那写一个,b那写一个。
嗯啊,访问c的方法肯定是共用一个类的
那现在的问题就是用文件锁呢,还是用锁定类
因为如果只是单纯的读,不需要加锁
但是如果读完后有写动作才要加锁
所以比较纠结文件锁还是线程安全里说的锁定类
如果能保证对c的访问只有唯一的入口,可以只锁相关的读写方法。一般应用都是会锁文件的。
------解决方案--------------------

------解决方案--------------------
只要涉及共享数据读写,a与b、a与a间都要考虑线程安全。
互斥是实现线程安全的一个手段,两者不是并列概念。
我想问的是a与b之间是进程同步吧
可能要用到文件锁之内的吧
嗯,访问c的时候,要把c锁住。
好的,俺这下踏实了,嘿嘿~
建议啊,访问c的方法用个公共,不要a那写一个,b那写一个。
嗯啊,访问c的方法肯定是共用一个类的
那现在的问题就是用文件锁呢,还是用锁定类
因为如果只是单纯的读,不需要加锁
但是如果读完后有写动作才要加锁
所以比较纠结文件锁还是线程安全里说的锁定类
如果能保证对c的访问只有唯一的入口,可以只锁相关的读写方法。一般应用都是会锁文件的。
只锁方法不好吧,毕竟是资源共享
如果a有个线程是要先读,然后再写
a的其他线程也要等到第一个线程读完,并且写完才能去动作
那这样应该是锁定类吧
或者生成一个单例的c
然后锁定这个单例c的实例
具体我也没经验,望赐教!
只锁方法是没问题的,只要你做成单例,或者访问c的类为工具类,里面的方法为静态的就可以。
另外,考虑到读写同时进行,可以使用文件锁实现。
------解决方案--------------------
你这不是乱来么?进程怎么和线程同步??
只有线程同步。
另外如果你那个都是线程的话,读写c的所有线程都要同步
进程不是有线程组成的吗
一个线程只属于一个进程,一个进程可以有多个线程
------解决方案--------------------
你这不是乱来么?进程怎么和线程同步??
只有线程同步。
另外如果你那个都是线程的话,读写c的所有线程都要同步
进程不是有线程组成的吗
一个线程只属于一个进程,一个进程可以有多个线程
你说的没错啊,但是进程没法和线程同步。搞清楚关系。
------解决方案--------------------
只要涉及共享数据读写,a与b、a与a间都要考虑线程安全。
互斥是实现线程安全的一个手段,两者不是并列概念。
我想问的是a与b之间是进程同步吧
可能要用到文件锁之内的吧
嗯,访问c的时候,要把c锁住。
好的,俺这下踏实了,嘿嘿~
建议啊,访问c的方法用个公共,不要a那写一个,b那写一个。
嗯啊,访问c的方法肯定是共用一个类的