锁到底有什么用处?
我下面的程序,大意是两个线程同时修改同一个对象的成员,没有使用锁,也没有出现错误阿
锁的作用不是防止多个线程同时访问同一个成员出错设置的么?为什么这里不需要?
class test
{
public:
test() : value(0)
{}
~test(){}
int value;
};
class MyThread
{
public:
int ThreadProc(void *param){
test *ptt = (test*)param;
while(1)
{
ptt->value = 100;
}
return 0;
}
};
int main()
{
test *pt = new test;
MyThread *thd = new MyThread;
thd->Run(pt);
MyThread *thd2 = new MyThread;
thd2->Run(pt);
while(1){
Sleep(1000);
}
return 0;
}
锁的作用不是防止多个线程同时访问同一个成员出错设置的么?为什么这里不需要?
class test
{
public:
test() : value(0)
{}
~test(){}
int value;
};
class MyThread
{
public:
int ThreadProc(void *param){
test *ptt = (test*)param;
while(1)
{
ptt->value = 100;
}
return 0;
}
};
int main()
{
test *pt = new test;
MyThread *thd = new MyThread;
thd->Run(pt);
MyThread *thd2 = new MyThread;
thd2->Run(pt);
while(1){
Sleep(1000);
}
return 0;
}
...全文
相关推荐
Java锁的升级策略 偏向锁 轻量级锁 重量级锁
在本文中小编给的大家整理了关于Java锁的升级策略 偏向锁 轻量级锁 重量级锁的相关知识点内容,需要的朋友们参考下。
键盘F1~F12的用处
键盘F1~F12的用处 : 所有的键盘都至少有12个功能键,通常被称为F键,其位置一般是在键盘顶部,从F1到F12。不过你知道所有这些键的作用吗?你知道这些键怎样为你节省时间吗?
MySQL 行锁和表锁的含义及区别详解
主要介绍了MySQL 行锁和表锁的含义及区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
详解HTML标签属性link rel="dns-prefetch"是什么意思? DNS Prefetch有什么用处?
详解HTML标签属性link rel="dns-prefetch"是什么意思? DNS Prefetch有什么用处?
SOLIDWORK很有用处
很有用处很有用处很有用处很有用处很有用处很有用处很有用处很有用处很有用处很有用处很有用处很有用处很有用处很有用处很有用处很有用处很有用处


进程/线程/DLL
