社区
Linux/Unix社区
帖子详情
在线程中加锁的问题!!
father1000
2006-04-26 08:48:12
我在进程中设了一个公共变量,用来标识每个线程的数据包,而我的每个数据包要插入到数据库中,所以每个线程都要用它,所以我要在每个线程给它加锁,可是仍然有冲突,仍然有数据包的标号相同.请帮我解决一下!!谢谢!!!
...全文
125
3
打赏
收藏
在线程中加锁的问题!!
我在进程中设了一个公共变量,用来标识每个线程的数据包,而我的每个数据包要插入到数据库中,所以每个线程都要用它,所以我要在每个线程给它加锁,可是仍然有冲突,仍然有数据包的标号相同.请帮我解决一下!!谢谢!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fytzzh
2006-04-28
打赏
举报
回复
对写这个标示的地方加锁
对读这个标示的地方也要加锁
tb01412
2006-04-27
打赏
举报
回复
当一个线程要插入数据时,就锁住公共变量,然后将公共变量加1,将这个变量赋值给一个局部非静态变量,然后释放全局变量,然后再将这个局部变量当作ID号插入数据库,注意:被多个线程调用的函数一定是全完可重入的!!!!!!否则就有可能出现你所说的情况,比如,在一个函数中,使用了一全局缓冲区,这缓冲区会被多个线程修改,就说明你这个东东就不是安全可重入的了
x86
2006-04-27
打赏
举报
回复
你的mutex保护应该包括从设置公共变量到写数据库的整个过程。
Qt高级系列之8:Qt多
线程
线程
池数据同步机制及文件下载器项目实战
1.带领您深入学习QT5/C++:Qt多
线程
线程
池及数据同步机制 ,多...2.所有章节均有理论知识介绍、接口讲解、实例代码讲解,讲解过程
中
不断穿插老师在开发过程
中
遇到的
问题
及解决方法(可以下载所有的电子课件与源码)。
JAVA如何在
线程
中
加锁
(四种方法)
JAVA多
线程
锁
线程
的生命周期 总共六种状态,可归结为五种,
线程
的最终是死亡,阻塞不是最终状态,只是一个临时状态。只有调用了start方法,
线程
才进入就绪阶段。 //新生 NEW, //运行 RUNNABLE, //阻塞 ...
多
线程
变量
加锁
问题
对于x86来说如果其地址是4字节对齐的,那访问是就原子操作。这也是最常见的情况,注意访问是读或写,不是自增等。...对于多
线程
编程,很多人概念不清,写代码的时候要么是处处
加锁
,影响性能不说,还容易莫名
关于多
线程
加锁
问题
偶然间翻到了多
线程
加锁
的帖子,记录一下 多
线程
间共享变量加不
加锁
取决于变量类型以及大小,跟CPU单次操作有关。 从:https://blog.csdn.net/youtherzhang/article/details/76093570 大神的测试结果来看(感谢...
多
线程
加锁
在多
线程
加锁
的过程
中
,要注意如下两个核心关键点:
加锁
的位置,
加锁
的位置代表了一旦其
中
某一
线程
获取锁后,其他
线程
就会阻塞到此位置,当
加锁
的
线程
执行完毕释放锁后,其他
线程
会根据阻塞时的位置继续向向执行...
Linux/Unix社区
23,116
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章