Pthread是一套用户级线程库,但在linux上实现时,却使用了内核级线程来完成,这样提高的线程的并发性.Pthread是由POSIX提供的一套通用的线程库,具有很好的移植性.
这个应该和标准I/O里面的缓冲有关。记得缓冲区的大小好像是4K忘记是不是了,你那程序没有+‘\n’是全缓冲类型,
需要把整个缓冲区填满系统才会把数据刷新到屏幕,再+上你每次都睡眠一秒,
并不是卡住了只是需要把缓冲区添满的时间太长,你让它放在那里等足够长的时间他才会
输出数据,不过时间可能要很长很长。
你把sleep(1)删掉后,因为每次不用等待一秒,而CPU运转的时间非常快,所以数据马上就
显示出来了。
而+上‘\n’缓冲区的类型就变成了行缓冲这时就变成每次输出一行,也就是每次输出一个
1或者一个2.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)