问题来源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];
  ... //内存泄漏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值