大家好,我刚接触JNI开发,遇到一个多线程方面的问题,不知道哪位大神能够帮帮忙。
我在看别人写的代码,里面有一段如下:
Int ret_val = 0;
If((smd_dev_up = open(SMD_DEV_UP, O_RDWR)) <= 0)
{
Return -1;
}
If((smd_dev_down = open(SMD_DEV_down, O_RDWR)) <= 0)
{
Return -1;
}
If(blocking_write)
{
Icotl(smd_dev_up, SMD_PKT_IOCTL_BLOCKING_WRITE, &blocking_write);
Icotl(smd_dev_down, SMD_PKT_IOCTL_BLOCKING_WRITE, &blocking_write);
}
其中SMD_DEV_UP被define成 “/dev/encrypt_voice_TX”
SMD_DEV_DOWN被define成 “/dev/encrypt_voice_RX”
SMD_PKT_IOCTL_BLOCKING_WRITE和SMD_PKT_IOCTL_BLOCKING_WRITE是定义的两个设备控制命令。
问题:
作者得注释说上面的程序段启动了两个线程,但是我不明白哪里启动了两个线程,是两个open函数吗?在linux下启动线程不是一般应该用pthread_create吗?