这样做好/安全/可靠吗?为什么?
int main()
{
MYSQL *mysqldbconn = mysql_init(NULL);
if(mysqldbconn != NULL)
{
if(mysql_real_connect(mysqldbconn, host,
user, password,
NULL, port, NULL, 0) != NULL)
{
pid_t pid = fork();
if(pid >= 0)
{
if(pid == 0)
{
mysql_query(mysqldbconn, "insert into `test`.`abc`(`x`, `y`) values (1, 2)");
exit(0);
}
else
{
mysql_query(mysqldbconn, "insert into `test`.`abc`(`x`, `y`) values (3, 4)");
usleep(1000000);
}
}
}
}
return 0;
}
我想知道我是否应该为每个子进程打开一个新的连接,或者我可以简单地在开始时连接一次,然后在每个分叉的子进程中使用它。上面的使用示例是否可能导致危险的数据竞争?是 mysql_query
原子的?
谢谢你的建议。
暂无答案!
目前还没有任何答案,快来回答吧!