当前位置: 技术问答>linux和unix
POSIX线程数据共享
来源: 互联网 发布时间:2016-04-28
本文导语: 我有一个全局的map 程序有两个子线程, 这两个子线程都会访问map, 但可以肯定他们都只是读map, 绝对不会写map 这样, 访问map时还须要互斥锁吗? 另外还有一个问题关于分离线程 pthread_attr_init(&attribute); pthread_attr_setdeta...
我有一个全局的map
程序有两个子线程, 这两个子线程都会访问map, 但可以肯定他们都只是读map, 绝对不会写map
这样, 访问map时还须要互斥锁吗?
另外还有一个问题关于分离线程
pthread_attr_init(&attribute);
pthread_attr_setdetachstate(&attribute, PTHREAD_CREATE_DETACHED);
pthread_create(&threadID, &arrtibute, Run, &argument);
这样创建的线程在Run运行完return以后, 线程栈会自动被destroy吗
程序有两个子线程, 这两个子线程都会访问map, 但可以肯定他们都只是读map, 绝对不会写map
这样, 访问map时还须要互斥锁吗?
另外还有一个问题关于分离线程
pthread_attr_init(&attribute);
pthread_attr_setdetachstate(&attribute, PTHREAD_CREATE_DETACHED);
pthread_create(&threadID, &arrtibute, Run, &argument);
这样创建的线程在Run运行完return以后, 线程栈会自动被destroy吗
|
为什么要加互斥锁呢?是为了防止出现数据不一致的情况,只读会不会导致数据不一致的情况出现呢?不会,所以不需要加锁.
线程如果调置了detach属性,所占资源就会在退出后自动destroy的
线程如果调置了detach属性,所占资源就会在退出后自动destroy的
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。