`
hzmg88hzmg
  • 浏览: 12745 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

问题来源TSU

 
阅读更多

问题来源TSU
2011年11月28日
  pthread_testcancel();
  retcode = read(fd, buffer, length);
  pthread_testcancel();
  老大这种写的目的是什么?
  为什么前后都写pthread_testcancel();
  21:47:08
  总算有人发现了这些东西了。
  OpenTSU-cooben()  21:48:31
  这个函数的作用是设置线程退出的位置,当你杀死线程的时候,它会尝试从这些位置退出,以保证程序逻辑的正确行。
  OpenTSU-cooben(000)  21:50:47
  中间那个函数的执行是不可打断的,被打断的话就内存泄漏了。
  V()  21:52:37
  线程库  OnStart
  OpenTSU-cooben()  21:55:34
  实际上让你们学写一个线程库,还有一个更重大的目的,就是让你们掌握跨平台线程库pThreads的用法。
  你真正会的东西越多,将来你才越值钱。
  V()  22:07:38
  中间那个函数的执行是不可打断的,被打断的话就内存泄漏了。
  那2个线程切换执行的时候。中间的函数不就有可能被打断了
  OpenTSU-cooben()  22:09:21
  呵呵,你理解错误了。跟大多数学多线程的人一样。
  OpenTSU-cooben()  22:10:36
  每个线程都有一个自己独立的栈空间,即使N个线程在同一时刻调用了同一个线程回调函数,其执行过程分别都在自己的栈空间上,它们之间没有任何交叉的关系。
  V()  22:10:43
  如果不设置这个pthread_testcancel();  退出位置可能有哪些?
  没这个会有什么不良后果
  OpenTSU-cooben()  22:12:29
  想知道这些详细的信息,恐怕你得google下pThreads库的这个函数了。
  这些函数出现在程序员认为最理想的地方,可以让线程退出得更加迅速,同时也让程序更加健壮。
  V()  22:15:41
  如果不设置这个pthread_testcancel();  退出位置可能有哪些?随机位置?
  OpenTSU-cooben()  22:15:56
  一般的都是Sleep()函数。
  V()  22:16:08
  没这个会有什么不良后果
  OpenTSU-cooben()  22:16:44
  还有一些pThreads库说明中提到的函数。我没有记录过。你可以查看它的官方文档。
  线程结束时间较长。
  V()  22:18:10
  那你认为我们初学使用这些函数时会出现什么问题
  你初学时犯过什么问题
  OpenTSU-cooben()  22:19:05
  我也不知道,等你遇到了再说。问题自然会找到你。发现一个解决一个。
  V->不要老是问我如何如何,你更多的关心自己就好了。
  V()  22:22:23
  如果不设置这个pthread_testcancel();退出位置可能有哪些?一般的都是Sleep()函数。。。。。那么我杀死线程 那线程是是从回调函数return那结束?
  OpenTSU-cooben()  22:23:37
  在Win32线程中是从线程当前执行位置结束。
  pThreads库中是从可退出点,比如Sleep()位置结束,它不会再执行到return语句。
  OpenTSU-cooben()  22:33:13
  我希望你们能够明白,现阶段你们学知识只要掌握最正确的基本用法就行了。千万不要研究得太深,那样你们将没有足够的时间学完更多的东西。点到为止就好!这是我的忠告!
  V()  22:43:34
  恩
  OpenTSU-cooben()  22:46:17
  编程的知识实在是太过庞大,但是工作中所用到的却是涉及非常多的方面,学会快速掌握大量知识的技能是必不可少的。
  希望大家继续努力学习!
  V()  22:48:02
  中间那个函数的执行是不可打断的,被打断的话就内存泄漏了。什么时候被打断?
  OpenTSU-cooben()  22:50:25
  强制终止线程的时候,就会被打断。
  OpenTSU-cooben()  22:53:18
  你不明白这个知识,就先放弃它,我重写第1季教程的时候会实现Win32线程对象,那时再给你解释TerminateThread()可能引发的问题。
  V()  22:54:08
  恩
  OpenTSU-cooben()  22:56:43
  我先给你说一个情形:必须在线程中调用一个Func()函数,这个函数中存在:
  p = new char[1024];
  ... //内存泄漏。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics