- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在执行以下示例程序时遇到了段错误:
#include<iostream>
#include<pthread.h>
#include<string.h>
#include<exception>
#include<stdexcept>
using namespace std;
class ThreadHandler
{
public:
int createThread(void (*function)(void*),void* input);
void setThreadID(int);
int getThreadID();
void runThread();
/* Constructor for ThreadHandler*/
ThreadHandler();
virtual ~ThreadHandler();
protected:
private:
int mThreadID;
pthread_t thread;
};
/* Function: ThreadHandler() */
ThreadHandler::ThreadHandler():mThreadID(0)
{
cout<<"\n ThreadHandling - constructor";
}
/* Function: ~ThreadHandler() */
ThreadHandler::~ThreadHandler()
{
}
/*Function: setThreadID() - set mThreadID value after
thread creation*/
void ThreadHandler::setThreadID(int thread_id)
{
cout<<"\n setThreadID function Entry";
mThreadID=thread_id;
cout<<"\n Thread ID: "<<mThreadID;
cout<<"\n setThreadID function Exit";
}
/*Function: getThreadID() - return a thread ID after
thread creation*/
int ThreadHandler::getThreadID()
{
return mThreadID;
}
/*Function: createThread() - Create Thread
and Assign function dynamically */
int ThreadHandler::createThread(void (*callingFunction)(void*),void* input)
{
cout<<"\n createThread Function Entry";
int thread_id=pthread_create(&thread,(pthread_attr_t*)callingFunction,NULL,input);
if(thread_id)
{
cout<<"\n Failed to create the thread and throw an exception";
throw;
}
setThreadID(thread_id);
cout<<"\n createThread Function Exit";
return thread_id;
}
/* Function: runThread() -- Joinable thread for exection*/
void ThreadHandler::runThread()
{
cout<<"\n Join the thread for runnable"<<endl;
pthread_join(this->thread,NULL);
}
/*Function to execute by the thread*/
void ThreadFunction(void* input)
{
cout<<"\n Thread Execution: "<<input;
}
/*Main part of the Class and Execution*/
int main()
{
char* msgPtr="I am running";
ThreadHandler *objThread = new ThreadHandler();
if(objThread==NULL)
{
cout<<"\n Failed to create a ThreadHandler object";
return -1;
}
/*Create a function pointer to pass*/
//void* (*FunctionPtr)(void*)=NULL;
//FunctionPtr = &ThreadFunction;
try
{
cout<<"\n -- start create a thread --";
objThread->createThread(&ThreadFunction,reinterpret_cast<void*>(msgPtr));
}
catch(exception& e)
{
cout<<"\n Exception while creating the thread";
}
return 0;
}
错误: ThreadHandling - 构造函数 -- 开始创建线程 --
程序收到信号 SIGSEGV,段错误。0x00007ffff76aab8c 在 allocate_stack (stack=, pdp=, attr=0x400ead ) 在 allocatestack.c:415415 allocatestack.c: 没有那个文件或目录。
最佳答案
问题
看起来您以错误的顺序将参数传递给 pthread_create
。
来自 man-pages :
int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
void *(*start_routine) (void *), void *arg);
解决方案
改变这个:
pthread_create(&thread,(pthread_attr_t*)callingFunction,NULL,input);
为此:
pthread_create(&thread, NULL, callingFunction, input);
建议
我建议使用 std::thread因为它使使用线程更容易,尤其是与 std::function 结合使用时.
关于c++ - 在 allocate_stack (stack=<synthetic pointer>, pdp=<synthetic pointer>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35438347/
我在执行以下示例程序时遇到了段错误: #include #include #include #include #include using namespace std; class ThreadHan
我正在使用Kotlin Android扩展程序。 我的项目gradle: buildscript { ext.kotlin_version = '1.2.41' dependencies {
尝试Kotlin,在项目中配置Kotlin,添加kotlin-android-extensions,还添加依赖项... import kotlinx.android.**synthetic**.mai
我正在查看一些从 Java 字节码获得的反汇编代码。我看到一些声明如下: .method static synthetic access$0()Lcom/package/Sample; 我无法弄清楚
我正在努力将 React 组件添加到包含大量遗留代码的现有项目中。 我遇到的一个问题是 React 将其事件委托(delegate)处理程序附加到 document 对象上。对我来说不幸的是,我们的许
有没有办法导入像这样的合成布局: 如果 (App.layout1) import ...layout1 else layout2 ? 我基本上需要这个功能;)谢谢 最佳答案 我知道你可以在 kotli
我试图在 onClick 函数中区分左键单击和右键单击: const App = () => { const handleClick = (e) => { // detect a left
在我们的生产网站中,我发现了 Sentry.io 的错误。 几个月以来,我每天都会遇到大约 50 次相同的错误,但我自己永远无法在本地、预制作甚至生产中重现它。 我不知道什么会引发这种情况。我从未有客
有人有java注释“java.lang.Synthetic”的背景吗?我在列出 JavaEE 企业应用程序中出现的注释时遇到了这个问题。该注释出现在 com.sun.xml 包中的几个类上。我没有找到
Blaze 自述文件(此处为 https://github.com/ContinuumIO/blaze)描述了对 NumPy 的多项改进,包括“合成维度”。我四处搜寻,但无法找出它们是什么。 谁能教教
我正在学习如何在 kotlin 上编程,并且正在尝试进行书籍练习(Android Programming with Kotlin for Beginners,第 12 章),但是,有一部分我需要添加以
我在使用 SonarQube 分析项目时遇到了这个异常(该项目利用 JavaFX、Spring、AOP 和编译时织入)。我正在使用 maven 插件来运行分析 Sonar : Sonar ,但我在使用
对于一些 Java 字节码解析器项目,我阅读了 JVM 规范并发现 Java 虚拟机类文件格式访问修饰符字段的位掩码值是 ACC_PUBLIC = 0x0001 ACC_FINAL = 0x0
我对适用于 Android 的 Kotlin 合成扩展很感兴趣,并考虑是否可以对自定义文件执行相同的操作,例如我们保留在项目中的原始 XML 文件。例如,让我们考虑一下 Kotlin 中的合成 Vie
导入 kotlinx 灰显 我想我几乎尝试了所有事情。重装Android Studio,缓存无效,新建项目同样问题。 我只是找不到解决方案 最佳答案 检查“build.gradle(:app)”文件,
我正在使用 kotlin + Rxjava + MVVM 开展一个项目。在开发过程中面临在 Fragment 或 viewholder 中导入 View id 的问题。 import kotlinx.
我正在尝试在状态由无状态子组件管理的有状态组件上做一个简单的实现。目前处理程序仅触发 console.log。 预期行为:更新字段时,父组件应触发 console.log。 实际行为setIntere
我有一个下面的测试 test("should create cached thread pool") { val globalContextMock: LogContextPropagatin
我有一个用 Kotlin 编写的 fragment 。我使用 导入布局 View import kotlinx.android.synthetic.main.my_fragment_layout. 在
测试文件 import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { BrowserAnima
我是一名优秀的程序员,十分优秀!