论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
IOT
[26468] 2021-07-05_内核线程的创建和运行
文档创建者:
s7ckTeam
浏览次数:
2
最后更新:
2025-01-19
IOT
2 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-56
6万
主题
-6万
回帖
-56
积分
管理员
积分
-56
发消息
2021-07-05_内核线程的创建和运行
内
核
线
程
的
创
建
和
运
行
L
i
n
u
x
学
习
2
0
2
1
-
0
7
-
0
5
以
下
文
章
来
源
于
人
人
都
是
极
客
,
作
者
布
道
师
P
e
t
e
r
来
自
公
众
号
:
来
自
公
众
号
:
人
人
都
是
极
客
人
人
都
是
极
客
上
面
讲
完
了
用
户
进
程
/
线
程
的
创
建
,
这
里
我
们
看
下
内
核
是
如
何
创
建
线
程
的
。
通
过
p
s
命
令
可
以
看
到
红
色
方
框
标
出
的
都
是
父
进
程
为
2
号
进
程
的
内
核
线
程
,
2
号
进
程
即
蓝
色
方
框
标
出
的
进
程
k
t
h
r
e
a
d
d
,
1
号
进
程
是
绿
色
方
框
标
出
的
进
程
i
n
i
t
,
它
们
的
父
进
程
号
都
是
0
。
下
面
我
们
一
起
看
下
,
内
核
的
0
号
,
1
号
,
2
号
线
程
的
创
建
过
程
。
0
号
线
程
号
线
程
l
i
n
u
x
内
核
中
为
0
号
进
程
专
门
定
义
了
一
个
静
态
的
t
a
s
k
_
s
t
r
u
c
t
的
结
构
,
称
为
i
n
i
t
_
t
a
s
k
:
人
人
都
是
极
客
人
人
都
是
极
客
.
号
主
P
e
t
e
r
L
i
u
,
N
X
P
资
深
系
统
工
程
师
,
谷
歌
优
秀
讲
师
,
C
S
D
N
博
客
专
家
。
主
要
分
享
A
R
M
,
L
i
n
u
x
,
A
n
d
r
o
i
d
等
技
术
和
职
业
发
展
与
项
目
管
理
。
这
个
结
构
体
中
的
成
员
都
是
静
态
定
义
的
,
这
里
看
几
个
比
较
重
要
的
变
量
:
.
t
h
r
e
a
d
_
i
n
f
o
=
I
N
I
T
_
T
H
R
E
A
D
_
I
N
F
O
(
i
n
i
t
_
t
a
s
k
)
,
这
个
结
构
在
“
t
a
s
k
_
s
t
r
u
c
t
,
t
h
r
e
a
d
_
i
n
f
o
和
内
核
栈
s
p
的
关
系
”
中
有
详
细
的
描
述
.
s
t
a
c
k
=
i
n
i
t
_
s
t
a
c
k
,
i
n
i
t
_
s
t
a
c
k
是
内
核
栈
的
静
态
定
义
,
定
义
在
链
接
脚
本
里
/
*
i
n
c
l
u
d
e
/
l
i
n
u
x
/
i
n
i
t
_
t
a
s
k
.
h
*
/
#
d
e
f
i
n
e
I
N
I
T
_
T
A
S
K
_
C
O
M
M
"
s
w
a
p
p
e
r
"
/
*
i
n
i
t
/
i
n
i
t
_
t
a
s
k
.
c
*
/
s
t
r
u
c
t
t
a
s
k
_
s
t
r
u
c
t
i
n
i
t
_
t
a
s
k
#
i
f
d
e
f
C
O
N
F
I
G
_
A
R
C
H
_
T
A
S
K
_
S
T
R
U
C
T
_
O
N
_
S
T
A
C
K
_
_
i
n
i
t
_
t
a
s
k
_
d
a
t
a
#
e
n
d
i
f
_
_
a
l
i
g
n
e
d
(
L
1
_
C
A
C
H
E
_
B
Y
T
E
S
)
=
{
#
i
f
d
e
f
C
O
N
F
I
G
_
T
H
R
E
A
D
_
I
N
F
O
_
I
N
_
T
A
S
K
.
t
h
r
e
a
d
_
i
n
f
o
=
I
N
I
T
_
T
H
R
E
A
D
_
I
N
F
O
(
i
n
i
t
_
t
a
s
k
)
,
.
s
t
a
c
k
_
r
e
f
c
o
u
n
t
=
R
E
F
C
O
U
N
T
_
I
N
I
T
(
1
)
,
#
e
n
d
i
f
.
s
t
a
t
e
=
0
,
.
s
t
a
c
k
=
i
n
i
t
_
s
t
a
c
k
,
.
u
s
a
g
e
=
R
E
F
C
O
U
N
T
_
I
N
I
T
(
2
)
,
.
f
l
a
g
s
=
P
F
_
K
T
H
R
E
A
D
,
.
p
r
i
o
=
M
A
X
_
P
R
I
O
-
2
0
,
.
s
t
a
t
i
c
_
p
r
i
o
=
M
A
X
_
P
R
I
O
-
2
0
,
.
n
o
r
m
a
l
_
p
r
i
o
=
M
A
X
_
P
R
I
O
-
2
0
,
.
p
o
l
i
c
y
=
S
C
H
E
D
_
N
O
R
M
A
L
,
.
c
p
u
s
_
p
t
r
=
&
i
n
i
t
_
t
a
s
k
.
c
p
u
s
_
m
a
s
k
,
.
c
p
u
s
_
m
a
s
k
=
C
P
U
_
M
A
S
K
_
A
L
L
,
.
n
r
_
c
p
u
s
_
a
l
l
o
w
e
d
=
N
R
_
C
P
U
S
,
.
m
m
=
N
U
L
L
,
.
a
c
t
i
v
e
_
m
m
=
&
i
n
i
t
_
m
m
,
.
.
.
.
.
.
.
c
o
m
m
=
I
N
I
T
_
T
A
S
K
_
C
O
M
M
,
.
t
h
r
e
a
d
=
I
N
I
T
_
T
H
R
E
A
D
,
.
f
s
=
&
i
n
i
t
_
f
s
,
.
f
i
l
e
s
=
&
i
n
i
t
_
f
i
l
e
s
,
.
.
.
.
.
.
}
;
E
X
P
O
R
T
_
S
Y
M
B
O
L
(
i
n
i
t
_
t
a
s
k
)
;
可
以
看
出
,
_
_
s
t
a
r
t
_
i
n
i
t
_
t
a
s
k
是
0
号
进
程
的
内
核
栈
的
基
地
址
,
_
_
e
n
d
_
i
n
i
t
_
t
a
s
k
是
0
号
进
程
的
内
核
栈
的
结
束
地
址
。
注
意
:
_
_
s
t
a
r
t
_
i
n
i
t
_
t
a
s
k
=
i
n
i
t
_
t
h
r
e
a
d
_
u
n
i
o
n
=
i
n
i
t
_
t
a
s
k
.
c
o
m
m
=
I
N
I
T
_
T
A
S
K
_
C
O
M
M
,
0
号
进
程
的
名
称
是
s
w
a
p
p
e
r
下
面
结
合
L
i
n
u
x
内
核
启
动
的
部
分
代
码
,
看
下
是
如
何
调
用
_
_
p
r
i
m
a
r
y
_
s
w
i
t
c
h
e
d
来
设
置
0
号
进
程
的
运
行
内
核
栈
:
1
.
i
n
i
t
_
t
h
r
e
a
d
_
u
n
i
o
n
是
0
号
进
程
的
内
核
栈
的
基
地
址
2
.
设
置
堆
栈
指
针
s
p
的
值
,
就
是
内
核
栈
的
栈
底
+
T
H
R
E
A
D
_
S
I
Z
E
的
大
小
。
现
在
s
p
指
到
了
内
核
栈
的
顶
端
3
.
跳
转
到
l
i
n
u
x
内
核
的
入
口
至
此
0
号
进
程
就
已
经
运
行
起
来
了
,
0
号
进
程
,
通
常
也
被
称
为
i
d
l
e
进
程
,
也
称
为
s
w
a
p
p
e
r
进
程
。
当
系
统
中
所
有
的
进
程
起
来
后
,
0
号
进
程
也
就
蜕
化
为
i
d
l
e
进
程
,
当
一
个
C
P
U
上
没
有
任
务
可
运
行
时
就
会
去
运
行
i
d
l
e
进
程
。
一
旦
运
行
i
d
l
e
进
程
,
则
此
C
P
U
就
可
以
进
入
低
功
耗
模
式
了
,
在
A
R
M
上
就
是
W
F
I
。
1
号
线
程
号
线
程
/
*
i
n
c
l
u
d
e
/
a
s
m
-
g
e
n
e
r
i
c
/
v
m
l
i
n
u
x
.
l
d
s
.
h
*
/
#
d
e
f
i
n
e
I
N
I
T
_
T
A
S
K
_
D
A
T
A
(
a
l
i
g
n
)
.
=
A
L
I
G
N
(
a
l
i
g
n
)
;
_
_
s
t
a
r
t
_
i
n
i
t
_
t
a
s
k
=
.
;
i
n
i
t
_
t
h
r
e
a
d
_
u
n
i
o
n
=
.
;
i
n
i
t
_
s
t
a
c
k
=
.
;
K
E
E
P
(
*
(
.
d
a
t
a
.
.
i
n
i
t
_
t
a
s
k
)
)
K
E
E
P
(
*
(
.
d
a
t
a
.
.
i
n
i
t
_
t
h
r
e
a
d
_
i
n
f
o
)
)
.
=
_
_
s
t
a
r
t
_
i
n
i
t
_
t
a
s
k
+
T
H
R
E
A
D
_
S
I
Z
E
;
_
_
e
n
d
_
i
n
i
t
_
t
a
s
k
=
.
;
/
*
a
r
c
h
/
a
r
m
6
4
/
k
e
r
n
e
l
/
h
e
a
d
.
S
*
/
S
Y
M
_
F
U
N
C
_
S
T
A
R
T
_
L
O
C
A
L
(
_
_
p
r
i
m
a
r
y
_
s
w
i
t
c
h
e
d
)
a
d
r
p
x
4
,
i
n
i
t
_
t
h
r
e
a
d
_
u
n
i
o
n
-
-
-
-
-
-
(
1
)
a
d
d
s
p
,
x
4
,
#
T
H
R
E
A
D
_
S
I
Z
E
-
-
-
-
-
-
(
2
)
a
d
r
_
l
x
5
,
i
n
i
t
_
t
a
s
k
m
s
r
s
p
_
e
l
0
,
x
5
/
/
S
a
v
e
t
h
r
e
a
d
_
i
n
f
o
.
.
.
.
.
.
b
s
t
a
r
t
_
k
e
r
n
e
l
S
Y
M
_
F
U
N
C
_
E
N
D
(
_
_
p
r
i
m
a
r
y
_
s
w
i
t
c
h
e
d
)
-
-
-
-
-
-
(
3
)
a
s
m
l
i
n
k
a
g
e
_
_
v
i
s
i
b
l
e
v
o
i
d
_
_
i
n
i
t
_
_
n
o
_
s
a
n
i
t
i
z
e
_
a
d
d
r
e
s
s
s
t
a
r
t
_
k
e
r
n
e
l
(
v
o
i
d
)
{
.
.
.
.
.
.
a
r
c
h
_
c
a
l
l
_
r
e
s
t
_
i
n
i
t
(
)
;
.
.
.
.
.
.
}
v
o
i
d
_
_
i
n
i
t
_
_
w
e
a
k
a
r
c
h
_
c
a
l
l
_
r
e
s
t
_
i
n
i
t
(
v
o
i
d
)
{
r
e
s
t
_
i
n
i
t
(
)
;
}
n
o
i
n
l
i
n
e
v
o
i
d
_
_
r
e
f
r
e
s
t
_
i
n
i
t
(
v
o
i
d
)
{
s
t
r
u
c
t
t
a
s
k
_
s
t
r
u
c
t
*
t
s
k
;
i
n
t
p
i
d
;
r
c
u
_
s
c
h
e
d
u
l
e
r
_
s
t
a
r
t
i
n
g
(
)
;
p
i
d
=
k
e
r
n
e
l
_
t
h
r
e
a
d
(
k
e
r
n
e
l
_
i
n
i
t
,
N
U
L
L
,
C
L
O
N
E
_
F
S
)
;
r
c
u
_
r
e
a
d
_
l
o
c
k
(
)
;
t
s
k
=
f
i
n
d
_
t
a
s
k
_
b
y
_
p
i
d
_
n
s
(
p
i
d
,
&
i
n
i
t
_
p
i
d
_
n
s
)
;
s
e
t
_
c
p
u
s
_
a
l
l
o
w
e
d
_
p
t
r
(
t
s
k
,
c
p
u
m
a
s
k
_
o
f
(
s
m
p
_
p
r
o
c
e
s
s
o
r
_
i
d
(
)
)
)
;
r
c
u
_
r
e
a
d
_
u
n
l
o
c
k
(
)
;
n
u
m
a
_
d
e
f
a
u
l
t
_
p
o
l
i
c
y
(
)
;
p
i
d
=
k
e
r
n
e
l
_
t
h
r
e
a
d
(
k
t
h
r
e
a
d
d
,
N
U
L
L
,
C
L
O
N
E
_
F
S
|
C
L
O
N
E
_
F
I
L
E
S
)
;
r
c
u
_
r
e
a
d
_
l
o
c
k
(
)
;
k
t
h
r
e
a
d
d
_
t
a
s
k
=
f
i
n
d
_
t
a
s
k
_
b
y
_
p
i
d
_
n
s
(
p
i
d
,
&
i
n
i
t
_
p
i
d
_
n
s
)
;
r
c
u
_
r
e
a
d
_
u
n
l
o
c
k
(
)
;
s
y
s
t
e
m
_
s
t
a
t
e
=
S
Y
S
T
E
M
_
S
C
H
E
D
U
L
I
N
G
;
c
o
m
p
l
e
t
e
(
&
k
t
h
r
e
a
d
d
_
d
o
n
e
)
;
s
c
h
e
d
u
l
e
_
p
r
e
e
m
p
t
_
d
i
s
a
b
l
e
d
(
)
;
/
*
C
a
l
l
i
n
t
o
c
p
u
_
i
d
l
e
w
i
t
h
p
r
e
e
m
p
t
d
i
s
a
b
l
e
d
*
/
c
p
u
_
s
t
a
r
t
u
p
_
e
n
t
r
y
(
C
P
U
H
P
_
O
N
L
I
N
E
)
;
}
这
里
会
创
建
1
号
,
2
号
两
个
线
程
:
p
i
d
=
k
e
r
n
e
l
_
t
h
r
e
a
d
(
k
e
r
n
e
l
_
i
n
i
t
,
N
U
L
L
,
C
L
O
N
E
_
F
S
)
;
p
i
d
=
k
e
r
n
e
l
_
t
h
r
e
a
d
(
k
t
h
r
e
a
d
d
,
N
U
L
L
,
C
L
O
N
E
_
F
S
|
C
L
O
N
E
_
F
I
L
E
S
)
;
可
以
看
出
,
k
e
r
n
e
l
_
t
h
r
e
a
d
最
终
会
调
用
d
o
_
f
o
r
k
根
据
参
数
的
不
同
来
创
建
一
个
进
程
或
者
内
核
线
程
。
d
o
_
f
o
r
k
的
实
现
我
们
在
后
面
会
做
详
细
的
介
绍
。
当
内
核
线
程
创
建
成
功
后
就
会
调
用
设
置
的
回
调
函
数
。
当
k
e
r
n
e
l
_
t
h
r
e
a
d
(
k
e
r
n
e
l
_
i
n
i
t
,
N
U
L
L
,
C
L
O
N
E
_
F
S
)
返
回
时
,
1
号
进
程
已
经
创
建
成
功
了
。
而
且
会
回
调
k
e
r
n
e
l
_
i
n
i
t
函
数
,
接
下
来
看
下
k
e
r
n
e
l
_
i
n
i
t
主
要
做
什
么
事
情
:
最
主
要
的
工
作
就
是
通
过
e
x
e
c
v
e
,
执
行
i
n
i
t
可
执
行
文
件
。
i
n
i
t
就
是
1
号
线
程
,
它
最
终
会
去
创
建
所
有
的
应
用
进
程
。
确
切
来
讲
,
i
n
i
t
进
程
是
用
户
态
的
,
k
e
r
n
e
l
_
i
n
i
t
是
1
号
进
程
的
内
核
态
。
2
号
线
程
号
线
程
上
面
讲
到
的
k
e
r
n
e
l
_
t
h
r
e
a
d
(
k
t
h
r
e
a
d
d
,
N
U
L
L
,
C
L
O
N
E
_
F
S
|
C
L
O
N
E
_
F
I
L
E
S
)
就
是
用
来
创
建
2
号
线
程
,
2
号
线
程
的
执
行
函
数
是
k
t
h
r
e
a
d
d
:
k
t
h
r
e
a
d
d
处
理
流
程
处
理
流
程
p
i
d
_
t
k
e
r
n
e
l
_
t
h
r
e
a
d
(
i
n
t
(
*
f
n
)
(
v
o
i
d
*
)
,
v
o
i
d
*
a
r
g
,
u
n
s
i
g
n
e
d
l
o
n
g
f
l
a
g
s
)
{
r
e
t
u
r
n
_
d
o
_
f
o
r
k
(
f
l
a
g
s
|
C
L
O
N
E
_
V
M
|
C
L
O
N
E
_
U
N
T
R
A
C
E
D
,
(
u
n
s
i
g
n
e
d
l
o
n
g
)
f
n
,
(
u
n
s
i
g
n
e
d
l
o
n
g
)
a
r
g
,
N
U
L
L
,
N
U
L
L
,
0
)
;
}
s
t
a
t
i
c
i
n
t
_
_
r
e
f
k
e
r
n
e
l
_
i
n
i
t
(
v
o
i
d
*
u
n
u
s
e
d
)
{
i
n
t
r
e
t
;
k
e
r
n
e
l
_
i
n
i
t
_
f
r
e
e
a
b
l
e
(
)
;
.
.
.
.
.
.
i
f
(
!
t
r
y
_
t
o
_
r
u
n
_
i
n
i
t
_
p
r
o
c
e
s
s
(
"
/
s
b
i
n
/
i
n
i
t
"
)
|
|
!
t
r
y
_
t
o
_
r
u
n
_
i
n
i
t
_
p
r
o
c
e
s
s
(
"
/
e
t
c
/
i
n
i
t
"
)
|
|
!
t
r
y
_
t
o
_
r
u
n
_
i
n
i
t
_
p
r
o
c
e
s
s
(
"
/
b
i
n
/
i
n
i
t
"
)
|
|
!
t
r
y
_
t
o
_
r
u
n
_
i
n
i
t
_
p
r
o
c
e
s
s
(
"
/
b
i
n
/
s
h
"
)
)
r
e
t
u
r
n
0
;
p
a
n
i
c
(
"
N
o
w
o
r
k
i
n
g
i
n
i
t
f
o
u
n
d
.
T
r
y
p
a
s
s
i
n
g
i
n
i
t
=
o
p
t
i
o
n
t
o
k
e
r
n
e
l
.
"
"
S
e
e
L
i
n
u
x
D
o
c
u
m
e
n
t
a
t
i
o
n
/
a
d
m
i
n
-
g
u
i
d
e
/
i
n
i
t
.
r
s
t
f
o
r
g
u
i
d
a
n
c
e
.
"
)
;
}
1
.
通
过
设
置
t
a
s
k
_
s
t
r
u
c
t
的
c
o
m
m
字
段
,
使
当
前
进
程
的
名
字
为
"
k
t
h
r
e
a
d
d
"
2
.
设
置
当
前
的
进
程
的
状
态
是
T
A
S
K
_
I
N
T
E
R
R
U
P
T
I
B
L
E
i
n
t
k
t
h
r
e
a
d
d
(
v
o
i
d
*
u
n
u
s
e
d
)
{
s
t
r
u
c
t
t
a
s
k
_
s
t
r
u
c
t
*
t
s
k
=
c
u
r
r
e
n
t
;
/
*
S
e
t
u
p
a
c
l
e
a
n
c
o
n
t
e
x
t
f
o
r
o
u
r
c
h
i
l
d
r
e
n
t
o
i
n
h
e
r
i
t
.
*
/
s
e
t
_
t
a
s
k
_
c
o
m
m
(
t
s
k
,
"
k
t
h
r
e
a
d
d
"
)
;
-
-
-
-
-
-
(
1
)
i
g
n
o
r
e
_
s
i
g
n
a
l
s
(
t
s
k
)
;
s
e
t
_
c
p
u
s
_
a
l
l
o
w
e
d
_
p
t
r
(
t
s
k
,
h
o
u
s
e
k
e
e
p
i
n
g
_
c
p
u
m
a
s
k
(
H
K
_
F
L
A
G
_
K
T
H
R
E
A
D
)
)
;
s
e
t
_
m
e
m
s
_
a
l
l
o
w
e
d
(
n
o
d
e
_
s
t
a
t
e
s
[
N
_
M
E
M
O
R
Y
]
)
;
c
u
r
r
e
n
t
-
>
f
l
a
g
s
|
=
P
F
_
N
O
F
R
E
E
Z
E
;
c
g
r
o
u
p
_
i
n
i
t
_
k
t
h
r
e
a
d
d
(
)
;
f
o
r
(
;
;
)
{
s
e
t
_
c
u
r
r
e
n
t
_
s
t
a
t
e
(
T
A
S
K
_
I
N
T
E
R
R
U
P
T
I
B
L
E
)
;
-
-
-
-
-
-
(
2
)
i
f
(
l
i
s
t
_
e
m
p
t
y
(
&
k
t
h
r
e
a
d
_
c
r
e
a
t
e
_
l
i
s
t
)
)
s
c
h
e
d
u
l
e
(
)
;
-
-
-
-
-
-
(
3
)
_
_
s
e
t
_
c
u
r
r
e
n
t
_
s
t
a
t
e
(
T
A
S
K
_
R
U
N
N
I
N
G
)
;
s
p
i
n
_
l
o
c
k
(
&
k
t
h
r
e
a
d
_
c
r
e
a
t
e
_
l
o
c
k
)
;
w
h
i
l
e
(
!
l
i
s
t
_
e
m
p
t
y
(
&
k
t
h
r
e
a
d
_
c
r
e
a
t
e
_
l
i
s
t
)
)
{
s
t
r
u
c
t
k
t
h
r
e
a
d
_
c
r
e
a
t
e
_
i
n
f
o
*
c
r
e
a
t
e
;
c
r
e
a
t
e
=
l
i
s
t
_
e
n
t
r
y
(
k
t
h
r
e
a
d
_
c
r
e
a
t
e
_
l
i
s
t
.
n
e
x
t
,
s
t
r
u
c
t
k
t
h
r
e
a
d
_
c
r
e
a
t
e
_
i
n
f
o
,
l
i
s
t
)
;
l
i
s
t
_
d
e
l
_
i
n
i
t
(
&
c
r
e
a
t
e
-
>
l
i
s
t
)
;
s
p
i
n
_
u
n
l
o
c
k
(
&
k
t
h
r
e
a
d
_
c
r
e
a
t
e
_
l
o
c
k
)
;
c
r
e
a
t
e
_
k
t
h
r
e
a
d
(
c
r
e
a
t
e
)
;
-
-
-
-
-
-
(
4
)
s
p
i
n
_
l
o
c
k
(
&
k
t
h
r
e
a
d
_
c
r
e
a
t
e
_
l
o
c
k
)
;
}
s
p
i
n
_
u
n
l
o
c
k
(
&
k
t
h
r
e
a
d
_
c
r
e
a
t
e
_
l
o
c
k
)
;
}
r
e
t
u
r
n
0
;
}
3
.
如
果
链
表
k
t
h
r
e
a
d
_
c
r
e
a
t
e
_
l
i
s
t
是
空
,
说
明
没
有
创
建
内
核
线
程
的
请
求
,
则
直
接
调
用
s
c
h
e
d
u
l
e
进
行
睡
眠
4
.
如
果
不
是
空
,
w
h
i
l
e
循
环
,
从
链
表
中
取
出
一
个
,
然
后
调
用
c
r
e
a
t
e
_
k
t
h
r
e
a
d
去
创
建
一
个
内
核
线
程
所
以
2
号
线
程
k
t
h
r
e
a
d
d
通
过
c
r
e
a
t
e
_
k
t
h
r
e
a
d
去
创
建
内
核
其
它
的
线
程
,
可
谓
是
内
核
线
程
的
祖
先
。
至
此
,
我
们
已
经
知
道
L
i
n
u
x
启
动
的
第
一
个
线
程
,
0
号
线
程
是
静
态
创
建
的
。
在
0
号
线
程
启
动
后
会
接
连
创
建
两
个
线
程
,
分
别
是
1
号
线
程
和
2
和
线
程
。
1
号
进
程
最
终
会
去
调
用
可
i
n
i
t
可
执
行
文
件
,
i
n
i
t
进
程
最
终
会
去
创
建
所
有
的
应
用
进
程
。
2
号
进
程
会
在
内
核
中
负
责
创
建
所
有
的
内
核
线
程
。
所
以
说
0
号
进
程
是
1
号
和
2
号
进
程
的
父
进
程
,
1
号
进
程
是
所
有
用
户
态
进
程
的
父
进
程
,
2
号
进
程
是
所
有
内
核
线
程
的
父
进
程
。
k
t
h
r
e
a
d
处
理
流
程
处
理
流
程
上
面
k
t
h
r
e
a
d
d
线
程
会
循
环
查
看
链
表
k
t
h
r
e
a
d
_
c
r
e
a
t
e
_
l
i
s
t
,
如
果
有
线
程
的
创
建
申
请
,
则
从
链
表
中
取
出
一
个
,
然
后
调
用
c
r
e
a
t
e
_
k
t
h
r
e
a
d
去
创
建
一
个
内
核
线
程
。
可
以
看
出
,
由
k
t
h
r
e
a
d
d
内
核
线
程
创
建
的
内
核
线
程
的
执
行
函
数
是
k
t
h
r
e
a
d
。
s
t
a
t
i
c
v
o
i
d
c
r
e
a
t
e
_
k
t
h
r
e
a
d
(
s
t
r
u
c
t
k
t
h
r
e
a
d
_
c
r
e
a
t
e
_
i
n
f
o
*
c
r
e
a
t
e
)
{
i
n
t
p
i
d
;
#
i
f
d
e
f
C
O
N
F
I
G
_
N
U
M
A
c
u
r
r
e
n
t
-
>
p
r
e
f
_
n
o
d
e
_
f
o
r
k
=
c
r
e
a
t
e
-
>
n
o
d
e
;
#
e
n
d
i
f
/
*
W
e
w
a
n
t
o
u
r
o
w
n
s
i
g
n
a
l
h
a
n
d
l
e
r
(
w
e
t
a
k
e
n
o
s
i
g
n
a
l
s
b
y
d
e
f
a
u
l
t
)
.
*
/
p
i
d
=
k
e
r
n
e
l
_
t
h
r
e
a
d
(
k
t
h
r
e
a
d
,
c
r
e
a
t
e
,
C
L
O
N
E
_
F
S
|
C
L
O
N
E
_
F
I
L
E
S
|
S
I
G
C
H
L
D
)
;
i
f
(
p
i
d
<
0
)
{
/
*
I
f
u
s
e
r
w
a
s
S
I
G
K
I
L
L
e
d
,
I
r
e
l
e
a
s
e
t
h
e
s
t
r
u
c
t
u
r
e
.
*
/
s
t
r
u
c
t
c
o
m
p
l
e
t
i
o
n
*
d
o
n
e
=
x
c
h
g
(
&
c
r
e
a
t
e
-
>
d
o
n
e
,
N
U
L
L
)
;
i
f
(
!
d
o
n
e
)
{
k
f
r
e
e
(
c
r
e
a
t
e
)
;
r
e
t
u
r
n
;
}
c
r
e
a
t
e
-
>
r
e
s
u
l
t
=
E
R
R
_
P
T
R
(
p
i
d
)
;
c
o
m
p
l
e
t
e
(
d
o
n
e
)
;
}
}
s
t
a
t
i
c
i
n
t
k
t
h
r
e
a
d
(
v
o
i
d
*
_
c
r
e
a
t
e
)
{
/
*
C
o
p
y
d
a
t
a
:
i
t
'
s
o
n
k
t
h
r
e
a
d
'
s
s
t
a
c
k
*
/
s
t
r
u
c
t
k
t
h
r
e
a
d
_
c
r
e
a
t
e
_
i
n
f
o
*
c
r
e
a
t
e
=
_
c
r
e
a
t
e
;
-
-
-
-
-
-
(
1
)
i
n
t
(
*
t
h
r
e
a
d
f
n
)
(
v
o
i
d
*
d
a
t
a
)
=
c
r
e
a
t
e
-
>
t
h
r
e
a
d
f
n
;
-
-
-
-
-
-
(
2
)
v
o
i
d
*
d
a
t
a
=
c
r
e
a
t
e
-
>
d
a
t
a
;
-
-
-
-
-
-
(
3
)
s
t
r
u
c
t
c
o
m
p
l
e
t
i
o
n
*
d
o
n
e
;
s
t
r
u
c
t
k
t
h
r
e
a
d
*
s
e
l
f
;
i
n
t
r
e
t
;
s
e
l
f
=
k
z
a
l
l
o
c
(
s
i
z
e
o
f
(
*
s
e
l
f
)
,
G
F
P
_
K
E
R
N
E
L
)
;
-
-
-
-
-
-
(
4
)
s
e
t
_
k
t
h
r
e
a
d
_
s
t
r
u
c
t
(
s
e
l
f
)
;
/
*
I
f
u
s
e
r
w
a
s
S
I
G
K
I
L
L
e
d
,
I
r
e
l
e
a
s
e
t
h
e
s
t
r
u
c
t
u
r
e
.
*
/
d
o
n
e
=
x
c
h
g
(
&
c
r
e
a
t
e
-
>
d
o
n
e
,
N
U
L
L
)
;
-
-
-
-
-
-
(
5
)
i
f
(
!
d
o
n
e
)
{
k
f
r
e
e
(
c
r
e
a
t
e
)
;
d
o
_
e
x
i
t
(
-
E
I
N
T
R
)
;
}
i
f
(
!
s
e
l
f
)
{
c
r
e
a
t
e
-
>
r
e
s
u
l
t
=
E
R
R
_
P
T
R
(
-
E
N
O
M
E
M
)
;
c
o
m
p
l
e
t
e
(
d
o
n
e
)
;
d
o
_
e
x
i
t
(
-
E
N
O
M
E
M
)
;
}
s
e
l
f
-
>
t
h
r
e
a
d
f
n
=
t
h
r
e
a
d
f
n
;
-
-
-
-
-
-
(
6
)
s
e
l
f
-
>
d
a
t
a
=
d
a
t
a
;
-
-
-
-
-
-
(
7
)
i
n
i
t
_
c
o
m
p
l
e
t
i
o
n
(
&
s
e
l
f
-
>
e
x
i
t
e
d
)
;
i
n
i
t
_
c
o
m
p
l
e
t
i
o
n
(
&
s
e
l
f
-
>
p
a
r
k
e
d
)
;
c
u
r
r
e
n
t
-
>
v
f
o
r
k
_
d
o
n
e
=
&
s
e
l
f
-
>
e
x
i
t
e
d
;
/
*
O
K
,
t
e
l
l
u
s
e
r
w
e
'
r
e
s
p
a
w
n
e
d
,
w
a
i
t
f
o
r
s
t
o
p
o
r
w
a
k
e
u
p
*
/
_
_
s
e
t
_
c
u
r
r
e
n
t
_
s
t
a
t
e
(
T
A
S
K
_
U
N
I
N
T
E
R
R
U
P
T
I
B
L
E
)
;
-
-
-
-
-
-
(
8
)
c
r
e
a
t
e
-
>
r
e
s
u
l
t
=
c
u
r
r
e
n
t
;
-
-
-
-
-
-
(
9
)
/
*
*
T
h
r
e
a
d
i
s
g
o
i
n
g
t
o
c
a
l
l
s
c
h
e
d
u
l
e
(
)
,
d
o
n
o
t
p
r
e
e
m
p
t
i
t
,
*
o
r
t
h
e
c
r
e
a
t
o
r
m
a
y
s
p
e
n
d
m
o
r
e
t
i
m
e
i
n
w
a
i
t
_
t
a
s
k
_
i
n
a
c
t
i
v
e
(
)
.
*
/
p
r
e
e
m
p
t
_
d
i
s
a
b
l
e
(
)
;
c
o
m
p
l
e
t
e
(
d
o
n
e
)
;
-
-
-
-
-
-
(
1
0
)
s
c
h
e
d
u
l
e
_
p
r
e
e
m
p
t
_
d
i
s
a
b
l
e
d
(
)
;
-
-
-
-
-
-
(
1
1
)
p
r
e
e
m
p
t
_
e
n
a
b
l
e
(
)
;
-
-
-
-
-
-
(
1
2
)
1
.
取
出
传
递
过
来
的
线
程
创
建
信
息
2
.
取
出
线
程
执
行
函
数
3
.
取
出
传
递
给
线
程
执
行
函
数
的
参
数
4
.
分
配
k
t
h
r
e
a
d
结
构
5
.
获
得
d
o
n
e
完
成
量
6
.
赋
值
s
e
l
f
-
>
t
h
r
e
a
d
f
n
为
线
程
执
行
函
数
7
.
赋
值
s
e
l
f
-
>
d
a
t
a
为
线
程
执
行
函
数
的
参
数
8
.
设
置
内
核
线
程
状
态
为
T
A
S
K
_
U
N
I
N
T
E
R
R
U
P
T
I
B
L
E
,
但
此
时
还
没
有
睡
眠
9
.
用
于
返
回
当
前
任
务
的
t
s
k
1
0
.
唤
醒
等
待
d
o
n
e
完
成
量
的
任
务
1
1
.
睡
眠
1
2
.
唤
醒
的
时
候
从
此
开
始
执
行
1
3
.
判
断
s
e
l
f
-
>
f
l
a
g
s
是
否
为
K
T
H
R
E
A
D
_
S
H
O
U
L
D
_
S
T
O
P
(
k
t
h
r
e
a
d
_
s
t
o
p
会
设
置
)
1
4
.
执
行
真
正
的
线
程
执
行
函
数
1
5
.
退
出
当
前
任
务
内
核
线
程
的
创
建
和
运
行
内
核
线
程
的
创
建
和
运
行
现
在
我
们
知
道
k
t
h
r
e
a
d
d
会
从
链
表
k
t
h
r
e
a
d
_
c
r
e
a
t
e
_
l
i
s
t
中
取
出
一
个
,
然
后
调
用
c
r
e
a
t
e
_
k
t
h
r
e
a
d
去
创
建
一
个
内
核
线
程
。
k
t
h
r
e
a
d
d
是
所
有
内
核
线
程
的
父
线
程
,
但
是
子
线
程
如
何
把
请
求
加
入
k
t
h
r
e
a
d
_
c
r
e
a
t
e
_
l
i
s
t
链
表
,
如
何
让
子
线
程
运
行
,
还
没
有
深
入
介
绍
。
这
里
举
例
看
一
个
p
e
t
e
r
线
程
的
创
建
和
运
行
的
简
单
例
子
:
r
e
t
=
-
E
I
N
T
R
;
i
f
(
!
t
e
s
t
_
b
i
t
(
K
T
H
R
E
A
D
_
S
H
O
U
L
D
_
S
T
O
P
,
&
s
e
l
f
-
>
f
l
a
g
s
)
)
{
-
-
-
-
-
-
(
1
3
)
c
g
r
o
u
p
_
k
t
h
r
e
a
d
_
r
e
a
d
y
(
)
;
_
_
k
t
h
r
e
a
d
_
p
a
r
k
m
e
(
s
e
l
f
)
;
r
e
t
=
t
h
r
e
a
d
f
n
(
d
a
t
a
)
;
-
-
-
-
-
-
(
1
4
)
}
d
o
_
e
x
i
t
(
r
e
t
)
;
-
-
-
-
-
-
(
1
5
)
}
很
简
单
,
通
过
k
t
h
r
e
a
d
_
c
r
e
a
t
e
函
数
创
建
内
核
线
程
,
然
后
通
过
w
a
k
e
_
u
p
_
p
r
o
c
e
s
s
唤
醒
线
程
,
使
之
运
行
。
下
面
我
们
结
合
上
面
的
k
t
h
r
e
a
d
d
,
剖
析
下
内
核
线
程
创
建
和
运
行
的
本
质
。
k
t
h
r
e
a
d
_
c
r
e
a
t
e
k
t
h
r
e
a
d
_
c
r
e
a
t
e
的
调
用
流
程
是
:
k
t
h
r
e
a
d
_
c
r
e
a
t
e
-
>
k
t
h
r
e
a
d
_
c
r
e
a
t
e
_
o
n
_
n
o
d
e
-
>
_
_
k
t
h
r
e
a
d
_
c
r
e
a
t
e
_
o
n
_
n
o
d
e
i
n
t
m
y
_
k
e
r
n
e
l
_
t
h
r
e
a
d
(
v
o
i
d
*
a
r
g
)
{
p
r
i
n
t
k
(
"
%
s
:
%
d
n
"
,
_
_
f
u
n
c
_
_
)
;
r
e
t
u
r
n
0
;
}
s
t
a
t
i
c
i
n
t
_
_
i
n
i
t
t
e
s
t
_
i
n
i
t
_
m
o
d
u
l
e
(
v
o
i
d
)
{
p
r
i
n
t
k
(
"
%
s
:
n
"
,
_
_
f
u
n
c
_
_
)
;
p
e
t
e
r
=
k
t
h
r
e
a
d
_
c
r
e
a
t
e
(
m
y
_
k
e
r
n
e
l
_
t
h
r
e
a
d
,
N
U
L
L
,
"
p
r
a
c
t
i
c
e
t
a
s
k
"
)
;
-
-
-
-
-
-
(
1
)
i
f
(
!
I
S
_
E
R
R
(
p
e
t
e
r
)
)
w
a
k
e
_
u
p
_
p
r
o
c
e
s
s
(
p
e
t
e
r
)
;
-
-
-
-
-
-
(
2
)
r
e
t
u
r
n
0
;
}
s
t
a
t
i
c
v
o
i
d
_
_
e
x
i
t
t
e
s
t
_
e
x
i
t
_
m
o
d
u
l
e
(
v
o
i
d
)
{
p
r
i
n
t
k
(
"
%
s
:
n
"
,
_
_
f
u
n
c
_
_
)
;
k
t
h
r
e
a
d
_
s
t
o
p
(
p
e
t
e
r
)
;
}
m
o
d
u
l
e
_
i
n
i
t
(
t
e
s
t
_
i
n
i
t
_
m
o
d
u
l
e
)
;
m
o
d
u
l
e
_
e
x
i
t
(
t
e
s
t
_
e
x
i
t
_
m
o
d
u
l
e
)
;
s
t
r
u
c
t
t
a
s
k
_
s
t
r
u
c
t
*
_
_
k
t
h
r
e
a
d
_
c
r
e
a
t
e
_
o
n
_
n
o
d
e
(
i
n
t
(
*
t
h
r
e
a
d
f
n
)
(
v
o
i
d
*
d
a
t
a
)
,
v
o
i
d
*
d
a
t
a
,
i
n
t
n
o
d
e
,
c
o
n
s
t
c
h
a
r
n
a
m
e
f
m
t
[
]
,
v
a
_
l
i
s
t
a
r
g
s
)
{
D
E
C
L
A
R
E
_
C
O
M
P
L
E
T
I
O
N
_
O
N
S
T
A
C
K
(
d
o
n
e
)
;
-
-
-
-
-
-
(
1
)
s
t
r
u
c
t
t
a
s
k
_
s
t
r
u
c
t
*
t
a
s
k
;
s
t
r
u
c
t
k
t
h
r
e
a
d
_
c
r
e
a
t
e
_
i
n
f
o
*
c
r
e
a
t
e
=
k
m
a
l
l
o
c
(
s
i
z
e
o
f
(
*
c
r
e
a
t
e
)
,
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页