我有自己的活动类,从NativeActivity扩展。我需要在c ++方面做大量工作(使用大文本文件)。所以我想在separete线程中这样做。另外我想在c ++端使用pthread执行此操作。是否可以或者我只能在java端使用线程?如果能获得有关在基于NativeActivity的应用程序中使用线程的链接,我将非常感激。谢谢。
答案 0 :(得分:0)
尝试我的代码如下所示....................
public class MainActivity extends Activity {
//Reference Variable
Context con;
TextView tv_start;
Thread t;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_start = (TextView) findViewById(R.id.tv_start);
\
//Start Button Functionality
tv_start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
t = new Thread() {
@Override
synchronized public void run() {
try {
while (!isInterrupted() && pause) {
Thread.sleep(1000);
runOnUiThread(new Runnable() {
@Override
public void run() {
// do you need
} // run close
}); // Runnable close
}
} catch (InterruptedException e) {
}
}
};
t.start();
}
});
} // onCreate method close
答案 1 :(得分:0)
是可以在Native级别创建线程。
假设您知道如何调用本机C / C ++函数,我将为您提供这个简单的代码供参考。
使用pthread创建线程与在linux中相同。
pthread_t threadID; // declaration
void Start()
{
// Thread which is running in your native level
while(1)
{
//your code goes here
}
}
void StartThread()
{
// This function should be called from java level
int res = 0;
res = pthread_create(&threadID, NULL, Start, NULL);
if(res!=null)
print thread created
else
not created
}