草庐IT

thread_posixs

全部标签

c - realloc 是否保持 posix_memalign 的内存对齐?

对齐的malloc是posix_memalign,没问题,但是对齐的realloc呢?realloc是否保留对齐方式或如何确保重新分配的内存具有相同的对齐方式?假设Linux和x86_64。 最佳答案 不,ISO或POSIX不保证从posix_memalign返回的内存上的realloc保持相同的对齐。realloc可能只是在同一地址扩展当前block,但它也可能将block移动到对齐不如原始地址严格的不同地址。如果您想要相同的对齐方式,最好分配另一个block并将数据复制过来。不幸的是,单一UNIX规范中也没有posix_mema

c - POSIX API 调用以列出进程中运行的所有 pthreads

我在POSIX/Linux环境中有一个多线程应用程序-我无法控制创建pthreads的代码。在某个时候,进程(pthreads的所有者)收到一个信号。该信号的处理程序应该中止、取消或停止所有pthreads并记录有多少pthreads正在运行。我的问题是我找不到如何列出进程中运行的所有pthreads的方法。 最佳答案 似乎没有任何可移植的方法来枚举进程中的线程。Linux有pthread_kill_other_threads_np,它看起来像是原始的纯用户态pthreads实现的遗留物,可能会也可能不会像今天记录的那样工作。它不会

linux - NPTL 和 POSIX 线程有什么区别?

NPTL和POSIX线程之间的基本区别是什么?这两者是如何演变的? 最佳答案 POSIX线程(pthread)不是一个实现,它是几个函数的API规范(一个标准,纸上的,英文的),其名称以pthread_开头。并且在中定义header。POSIX也是一套规范。NPTL现在在GNULibc里面在Linux上,并且是(或者至少努力成为)POSIX线程的实现。它是Linux系统上的一堆源代码和二进制代码。使用gcc-pthread编译的应用程序并链接到-pthread今天在Linux上使用NPTL代码。附录存在pthread的替代实现-s:

linux - wget 或类似程序是否始终在 POSIX 系统上可用?

是否有像wget/lynx/GET这样默认分发在POSIX或*nix操作系统中的HTTP客户端,可用于最大的可移植性?我知道大多数系统都安装了wget或lynx,但我似乎记得安装了一些使用默认设置的Ubuntu服务器系统,它们都没有安装wget或lynx安装在基础包中。我正在为Linux(可能还有Mac)编写一个shell脚本,以便在计算机上安装一个软件。为了避免不得不分发几个大文件,我想从互联网上获取这些文件,而不是用安装程序打包。目前,安装脚本将分布在从Makeself创建的单个文件中.我想避免让安装脚本超过100MB(如果包含文件的话),而且如果用户正在升级或重新安装软件,则可能

linux - 为什么使用 std::thread::hardware_concurrency() 和 boost::thread::hardware_concurrency() 有区别?

问题本身的描述很简单。我正在测试C++11中std::thread库和boost::thread库的区别。这些的输出:#include#include#includeintmain(){std::cout给我不同的结果:04这是为什么?PS:gcc包的版本是4.6.2-1.fc16(x86_64)。我正在使用g++test.cc-Wall-std=c++0x-lboost_thread-mt-lpthread 最佳答案 查看/usr/include/c++/4.6.2/thread后可以看出实现其实是://Returnsavalue

php - 在 PHP 中获取唯一的 worker/thread/process/request ID

在多线程环境(如大多数网络平台)中,我经常在我的应用程序日志中包含某种线程ID。当同时有多个请求同时写入同一个日志时,这使我能够准确判断哪个日志条目来自哪个请求/线程。在.NET/C#中,这可以通过log4net的格式化程序完成,默认情况下包括当前线程的ManagedThreadId(一个数字)或Name(一个给定的姓名)。这些属性唯一标识一个线程(参见示例:HowtologcorrectcontextwithThreadpoolthreadsusinglog4net?在PHP中,我没有发现任何类似的东西(我问过Google、PHP文档和SO)。存在吗? 最

PHP pthreads : Fatal error: Class 'Thread' not found

我在我的网络服务器上使用php5.5。现在我想使用pthreads。这是我的php配置:http://dd19010.kasserver.com/infophp.php55执行此代码后......threadId=$threadId;}publicfunctionrun(){printf("T%s:Sleeping3sec\n",$this->threadId);sleep(3);printf("T%s:HelloWorld\n",$this->threadId);}}$start=microtime(true);for($i=1;$istart();}echomicrotime(tr

java - Android 中的新 Thread(task).start() VS ThreadPoolExecutor.submit(task)

在我的Android项目中,我有很多地方需要异步运行一些代码(网络请求、对数据库的调用等)。这不是长时间运行的任务(最多几秒钟)。到目前为止,我一直在做这种事情,创建一个新线程,将一个新的可运行对象传递给该任务。但最近我读了一篇关于Java中的线程和并发的文章,并明白为每个任务创建一个新线程并不是一个好的决定。所以现在我在我的Application类中创建了一个ThreadPoolExecutor,它拥有5个线程。这是代码:publicclassAppextendsApplication{privateThreadPoolExecutormPool;@Overridepublicvoi

android - runOnUiThread(new Runnable(){}) 对于 new Thread(){} 类型未定义

看零件:runOnUiThread(newRunnable(){我有问题:ThemethodrunOnUiThread(newRunnable(){})isundefinedforthetypenewThread(){}所以我知道runOnUiThread必须来自一个Activity。但我不确定这将如何实现?它是首选项/设置View中的对话框这就是ChannelsDialogPreference的来源:pref_channels.xmlChannelsDialogPreference:packagecom.example.tvrplayer;importjava.util.ArrayL

安卓 : Calling the methods on UI thread from AsyncTask doInBackground method

我正在使用AsyncTask将数据上传到UI。我编写了代码以以单独的方法从服务器下载数据,并且我从doinBackground调用该方法。它会给出错误,因为UI方法无法从doInBackground访问。但是,我想访问.是否有任何替代过程可以从doinBackground访问UI方法? 最佳答案 anyalternativeprocessistheretoaccesstheUImethodfromdoinBackground.?在doInBackground()中调用publishProgress()。将UI更新逻辑放在AsyncT