- 论坛徽章:
- 0
|
我在AIX环境下
用 truss -p 进程id
hread_waitlock_(0x00000001116DCCF8, 1, 0x0000000000000000) = 0
thread_waitlock_(0x00000001116DCCF8, 1, 0x0000000000000000) = 0
= 1
close(10) = 0
= 0
= 0
thread_waitlock_(0x00000001116DCCF8, 1, 0x0000000000000000) = 1
= 1
thread_waitlock_(0x00000001116DCCF8, 1, 0x0000000000000000) = 1
thread_waitlock_(0x00000001116DCCF8, 1, 0x0000000000000000) = 1
thread_waitlock_(0x00000001116DCCF8, 1, 0x0000000000000000) = 0
thread_unlock(0x00000001116DCCF = 1
= 0
= 0
thread_waitlock_(0x00000001116DCCF8, 1, 0x0000000000000000) = 1
thread_waitlock_(0x00000001116DCCF8, 1, 0x0000000000000000) = 0
thread_unlock(0x00000001116DCCF = 1
thread_unlock(0x00000001116DCCF = 0
= 1
= 0
= 1
thread_unlock(0x00000001116DCCF = 1
thread_unlock(0x00000001116DCCF = 0
thread_waitlock_(0x00000001116DCCF8, 1, 0x0000000000000000) = 0
thread_unlock(0x00000001116DCCF = 1
thread_waitlock_(0x00000001116DCCF8, 1, 0x0000000000000000) = 1
thread_unlock(0x00000001116DCCF = 0
= 1
thread_waitlock_(0x00000001116DCCF8, 1, 0x0000000000000000) = 0
= 0
thread_unlock(0x00000001116DCCF = 0
thread_waitlock_(0x00000001116DCCF8, 1, 0x0000000000000000) = 1
thread_waitlock_(0x00000001116DCCF8, 1, 0x0000000000000000) = 0
= 0
thread_waitlock_(0x00000001116DCCF8, 1, 0x0000000000000000) = 1
thread_waitlock_(0x00000001116DCCF8, 1, 0x0000000000000000) = 0
= 0
= 0
------------------------------
If (任务数<1 )
返回 -1;
If(线程体为空)
返回 -1;
if(设定线程属性失败)
返回 -1;
If(设定线程栈大小)
{
清除线程属性;
返回-1;
}
正常启动线程;
If(分配入口地址内存失败)
{
清除线程属性;
返回-1;
}
For(小于线程数)
{
If(初始化线程互斥锁)
{
错误标志 1;
Break;
}
If(初始化线程条件变量)
{
错误标志 2;
Break;
}
启动多线程;
}
If(出错 = 1)
{
For(小于线程数)
清除线程属性;
}
If(出错 = 2)
{
线程取消
For(小于线程数)
清除线程属性;
}
清除线程属性;
返回 0 |
|