在linux书上看到,多线程编程需要防止同时访问同一数据,保证数据读写安全。

2024-12-03 23:51:09
推荐回答(2个)
回答1:

大多数系统中,需要运行的进程数是可以多于运行它们的CPU个数的。CPU并发的处理各个线程的时候,是通过处理器在各个线程直接相互切换来实现的。 就是宏观上看的话进程A B是可以同时运行的,微观上是CPU在线程A B中间不停的切换。你的那个情况可以这样理解 进程A访问数据D了,这时候进程A挂起,进程B运行,进程B也去访问数据D,这就构成了同时访问数据D了。 其实只读的话是可以同时访问的,读写就很复杂了。 

回答2:

单核CPU在某一时刻只能执行一条指令吗? 问:谢谢!
答:楼上的不懂就别乱讲,如果是支持超线程的单核就可以同时执行两条指令。
2008-03-10 回答者: xenonlyy 高手请进,关于操作系统的进程
问:一个CPU同时只能run一个进程,但在任务管理器中为什么能看到同时多个进程占用CPU ,虽然是双核CPU,但不...
答:"一个CPU同时只能run一个进程"这句...存储器中指令和数据的区分,使用的是指令周期的方法。 指令周期是取出并执行...5.8 流水CPU 5.8.1 并行处理技术...
2009-09-17 回答者: 匿名 在一个采取分页式虚拟存储管理的系统中,有一用户作业
问:他依次要访问的字地址序列是:115,228,120,88,446,102,321,432,260,167.若分配给作业可使用的...
答:使CPU访问I/O设备更灵活方便; 缺点:同一时刻只能允许挂在总线上的一对设备...但是,这里又出现了新的问题。不同的国家有不同的字母,因此,哪怕它们都使用...
2011-07-04 回答者: 250cfeoom 多任务处理就是CPU可在同一时刻执行多个任务的程序??
答:当然不是!多任务处理是一个高层面的看法,也就是说,CPU在“一段时间”内,看起来同时执行着多个应用程序。但是,在具体的某一个“时刻”内,CPU...
2008-05-07 回答者: sillyeeyore 我电脑新手。对电脑CPU 不是很懂!有哪位大虾给我说说!
问:CPU 的各种数据代表什么?还有就是几千+和几千+有什么本质的区别?各种信息都说说!越详细越好。
答:但确对不是绝对的正比关系,因为CPU的运算速度还要看CPU流水线(流水线下面...二者分别用来存放数据和执行这些数据的指令,而且两者可以同时被CPU访问,减少了...

百度