- 论坛徽章:
- 1
|
回复 chenzhanyiczy
不行吧。线程库是将应用的函数用加锁的方法保证的线程安全。
对系统调用有效吗 ...
思一克 发表于 2010-10-19 14:23 ![]()
是的,看了一下read()源码, -pthread是不能对系统调用有效的
read()源码:
asmlinkage ssize_t sys_read(unsigned int fd, char __user * buf, size_t count)
{
struct file *file;
ssize_t ret = -EBADF;
int fput_needed;
file = fget_light(fd, &fput_needed);
if (file) {
loff_t pos = file_pos_read(file);
ret = vfs_read(file, buf, count, &pos); 这里已经加锁了
file_pos_write(file, pos);
fput_light(file, fput_needed);
}
return ret;
}
所以read(),write()本身就是线程安全的. |
|